Exemplo n.º 1
0
 /**
  * data field contains a json object
  */
 public function store(Request $request)
 {
     $data = $request->json();
     // error_log(print_r($data->get('origins'), true));
     // error_log('debug');
     // error_log(print_r($data, true));
     // error_log('here');
     $ride = new Ride();
     $ride->initiator = Auth::user()->id;
     $ride->save();
     $rideUser = new RideUser();
     $rideUser->ride_id = $ride->id;
     $rideUser->user_id = Auth::user()->id;
     $rideUser->save();
     $route = new Route();
     $route->ride_id = $ride->id;
     $directions = !empty($data->get('google_directions')) ? json_encode($data->get('google_directions')) : '';
     $route->direction = $directions;
     $route->user_id = Auth::user()->id;
     $route->state = 'accepted';
     $route->note = !empty($data->get('share_details')) && isset($data->get('share_details')['notes']) ? $data->get('share_details')['notes'] : '';
     $route->endTime = !empty($data->get('share_details')) && isset($data->get('share_details')['arrival_time']) ? $data->get('share_details')['arrival_time'] : '';
     $route->save();
     $ride->head = $route->id;
     $ride->save();
     foreach ($data->get('origins') as $point) {
         $addr = isset($point['formatted_address']) ? $point['formatted_address'] : '';
         RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $addr, 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'start']);
     }
     foreach ($data->get('destinations') as $point) {
         $addr = isset($point['formatted_address']) ? $point['formatted_address'] : '';
         RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $addr, 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'end']);
     }
     return Response::json(['status' => 'success', 'data' => DbUtil::serializeRide($ride)]);
 }
Exemplo n.º 2
0
 /**
  * Creates a new Route model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Route();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 public function store(Request $request)
 {
     $inputsData = $request->only('origen', 'destiny', 'price');
     $newRoute = new Route($inputsData);
     $newRoute->active = 1;
     if ($newRoute->save()) {
         return response()->json($newRoute);
     } else {
         return response()->validation_error($newRoute->errors(), 'Ruta no ha sido registrada');
     }
 }
Exemplo n.º 4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $data = $request->json();
     // $data = json_decode($request->input('data'), true);
     $ride = Ride::find($data->get('ride_id'));
     if ($ride) {
         $route = new Route();
         // $route->startTime = $request->input('start_time');
         if ($ride->initiator === Auth::user()->id) {
             $route->state = 'accepted';
         } else {
             $route->state = 'requested';
         }
         $route->endTime = !empty($data->get('share_details')) && isset($data->get('share_details')['arrival_time']) ? $data->get('share_details')['arrival_time'] : '';
         $route->user_id = Auth::user()->id;
         $route->ride_id = $ride->id;
         $route->note = !empty($data->get('share_details')) && isset($data->get('share_details')['notes']) ? $data->get('share_details')['notes'] : '';
         if ($ride->initiator === Auth::user()->id) {
             $route->extends = $ride->head;
             $route->save();
             $ride->head = $route->id;
             $ride->save();
         } else {
             $route->save();
         }
         foreach ($data->get('origins') as $point) {
             RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $point['formatted_address'], 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'start']);
         }
         foreach ($data->get('destinations') as $point) {
             RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $point['formatted_address'], 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'end']);
         }
         return Response::json(['status' => 'success', 'data' => DbUtil::serializeRoute($route)]);
     } else {
         return Response::json(['status' => 'failure', 'message' => 'record not found']);
     }
 }