public function updateBus(Request $request, $id)
 {
     //		dd($request->all());
     $this->validate($request, ['name' => 'required', 'images' => 'required', 'features' => 'required']);
     $bus = Bus::find($id);
     $bus->update($request->only('name'));
     $bus->bus_features()->sync($request->input('features'));
     $images = $request->images;
     $n_o_i = count($images);
     //		dd($n_o_i, $images);
     $destinationPath = null;
     if (App::environment() == 'local') {
         $destinationPath = base_path() . '/public/images/';
     } elseif (App::environment() == 'production') {
         $destinationPath = '/home/twokays/public_html/images/';
     }
     for ($i = 0; $i < $n_o_i; $i++) {
         if ($images[$i]->isValid()) {
             $img = $images[$i];
             $file = $img;
             $ext = $file->getClientOriginalExtension();
             $destinationPath = $destinationPath;
             $fileName = str_slug($request->name) . '_img_' . $i . '.' . $ext;
             $full_path = '/images/' . $fileName;
             $file->move($destinationPath, $fileName);
             // uploading file to given path
             $bus->bus_images()->update(['path' => $full_path]);
             //				$tcl = BusImage::where('bus_id', $bus->id)->where('path', $full_path)->first();
             //
             //				$tcl->update(['path'=>$full_path]);
         }
     }
     return redirect()->route('bus_rental_index');
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     //
     $bus = new Bus();
     try {
         $statusCode = 200;
         $response = $bus->getBusById($id);
         if ($response->count() < 1) {
             $statusCode = 204;
             $response = ["error" => "No hay autobuses con ese id"];
         }
     } catch (Exception $e) {
         $response = ["error" => "Error interno"];
         $statusCode = 500;
     } finally {
         return Response::json($response, $statusCode);
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //
     $input = $request->all();
     array_forget($input, "_token");
     if (isset($input['type']) && $input['type'] == 'edit') {
         $validator = Validator::make($request->all(), ['name' => 'required|min:2', 'model' => 'required|min:2', 'plate_no' => 'required|min:2', 'chases_no' => 'required|min:5']);
         if ($validator->fails()) {
             if ($request->ajax()) {
                 return response()->json($validator->messages());
             } else {
                 return \Redirect::back()->withErrors($validator)->withInput();
             }
         }
         array_forget($input, "type");
         $bus = Bus::find($input['id']);
         foreach ($input as $key => $value) {
             $bus->{$key} = $value;
         }
         if ($bus->update()) {
             return response()->json("record update successfully");
         }
     } else {
         $validator = Validator::make($request->all(), ['name' => 'required|min:2', 'model' => 'required|min:2', 'plate_no' => 'required|min:2', 'chases_no' => 'required|min:5|unique:buses']);
         if ($validator->fails()) {
             if ($request->ajax()) {
                 return response()->json($validator->messages());
             } else {
                 return \Redirect::back()->withErrors($validator)->withInput();
             }
         }
         $bus = new Bus();
         foreach ($input as $key => $value) {
             $bus->{$key} = $value;
         }
         if ($bus->save()) {
             return response()->json("record saved successfully");
         }
     }
     return View("buses.index", ["buses" => Bus::all(), "title" => "Buses' Listing"]);
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     //
     $route = Route::find($id);
     return View("routes.routedetails", ["title" => "Route Details", "subtitle" => $route->name, "thisroute" => $route, "busstops" => Busstop::where("route_id", $route->id)->get(), "buses" => Bus::where("route_id", $route->id)->get()]);
 }
 public function calendario()
 {
     $buses = Bus::lists('placa', 'id');
     return view('reservas.calendario', array('buses' => $buses));
 }
Exemple #6
0
 public function exportPdf($ids = null)
 {
     $ids = explode(',', substr($ids, 0, -1));
     $ids = array_unique($ids);
     $model = Bus::whereIn('id', $ids)->where('user_id', \Auth::user()->id)->get(['marque', 'modele', 'matricule', 'chauffeur', 'capacite']);
     Excel::create('La liste des autocars', function ($excel) use($model, $ids) {
         $excel->sheet('La liste des autocars', function ($sheet) use($model, $ids) {
             $sheet->fromModel($model);
             $sheet->setAllBorders('thin');
             $sheet->setFontFamily('OpenSans');
             $sheet->setFontSize(13);
             $sheet->setFontBold(false);
             $sheet->setAllBorders('thin');
             for ($i = 1; $i <= count($ids) + 1; $i++) {
                 $sheet->setHeight($i, 25);
                 $sheet->row($i, function ($rows) {
                     $rows->setFontColor('#556b7b');
                     $rows->setAlignment('center');
                 });
                 $sheet->cells('A' . $i . ':' . 'E' . $i, function ($cells) {
                     $cells->setValignment('middle');
                     $cells->setFontColor('#556b7b');
                     $cells->setFont(array('family' => 'OpenSans', 'size' => '13', 'bold' => false));
                 });
             }
             // normal header
             $sheet->cells('A1:E1', function ($cells) {
                 $cells->setBackground('#e9f1f3');
                 $cells->setFontColor('#556b7b');
                 $cells->setFont(array('family' => 'OpenSans', 'size' => '15', 'bold' => true));
             });
             $sheet->row(1, array('Marque', 'Modèle', "Matricule", "Chauffeur", "Capacité"));
         });
     })->export('pdf');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     Bus::create(array("bus_reg_no" => Input::get('bus_reg_no'), "bus_type" => Input::get('bus_type'), "bus_max_seat" => Input::get('bus_max_seat')));
     return Redirect::route('buses.create')->with('message', 'Bus Added');
 }
 /**
 * Url:
 * /public/api/v1.0/update/bus/destination/{dropping_id}
 * 
 * Payload:
    {
        "params": {
            "buses_id": 27,
            "bus_departure_points_id": 5,
            "dropping_point": "Tada",
            "dropping_time": "9am",
            "price": "1003"
        }
    }
 */
 public function updateDroppingDetails(Request $request)
 {
     $data = Input::json()->all();
     $response = $this->response;
     $validateAndHandleError = new ValidateAndHandleError();
     if (!Auth::user()->id) {
         return $validateAndHandleError->invalidUser();
     }
     if (!$request->route('dropping_id')) {
         return $response->errorResponse("dropping_id_not_exist");
     }
     $dropping_id = $request->route('dropping_id');
     if (!isset($data) || !isset($data['params']) || !isset($data['params']['buses_id']) || !isset($data['params']['bus_departure_points_id']) || !isset($data['params']['dropping_point']) || !isset($data['params']['place_id']) || !isset($data['params']['dropping_time']) || !isset($data['params']['price'])) {
         return $response->errorResponse('invalid_params');
         //                return $validateAndHandleError->errorIdentifier("invalid_params");
     }
     $buses_id = $data['params']['buses_id'];
     $bus_departure_points_id = $data['params']['bus_departure_points_id'];
     $dropping_point = $data['params']['dropping_point'];
     $dropping_time = $data['params']['dropping_time'];
     $place_id = $data['params']['place_id'];
     $price = $data['params']['price'];
     /* Null validation */
     $validateNullData = array("buses_id" => $buses_id, "bus_departure_points_id" => $bus_departure_points_id, "dropping_point" => $dropping_point, "dropping_time" => $dropping_time, "price" => $price, "place_id" => $place_id);
     $nullValidator = $validateAndHandleError->multiValidator($validateNullData, "string");
     if ($nullValidator != "success") {
         return $nullValidator;
     }
     /* Bus id is number or not */
     $validateBusId = $validateAndHandleError->multiValidator(['buses_id' => $buses_id, 'dropping_id_not_number' => $dropping_id, 'place_id' => $place_id, 'departure_id_not_number' => $bus_departure_points_id], "number");
     if ($validateBusId != "success") {
         return $validateBusId;
     }
     $place = Place::where('id', $place_id)->get()[0]->place;
     if ($place != $dropping_point) {
         return $response->errorResponse('to_place_mismatch');
         //                return $validateAndHandleError->errorIdentifier("to_place_mismatch");
     }
     /* Validate dropping id present in db or not */
     $check_dropping_id = BusDroppingPoint::where('id', $dropping_id)->get();
     if (count($check_dropping_id) <= 0) {
         return $response->errorResponse("dropping_details_not_available");
     }
     /* for this dropping id check bus_id and departure id is matching or not */
     if ($check_dropping_id[0]->buses_id != $buses_id || $check_dropping_id[0]->bus_departure_points_id != $bus_departure_points_id) {
         return $response->errorResponse("bus_id_and_departure_id_mismatch");
     }
     /* Bus id exist or not */
     $check_bus_availability = Bus::where('id', $buses_id)->get();
     if (count($check_bus_availability) <= 0) {
         return $response->errorResponse("bus_details_not_available");
     }
     /* Departure id exist or not */
     $prev_departure_details = BusDeparturePoint::where('id', $bus_departure_points_id)->get();
     if (count($prev_departure_details) <= 0) {
         return $response->errorResponse('bus_departure_details_does_not_exist');
         //                return $validateAndHandleError->errorIdentifier("bus_departure_details_does_not_exist");
     }
     /* bus id passed through param should be equal with bus id of db */
     if ($prev_departure_details[0]->buses_id != $buses_id) {
         return $response->errorResponse('invalid_departure_details');
         //                return $validateAndHandleError->errorIdentifier("invalid_departure_details");
     }
     $user_id = Auth::user()->id;
     $bus_owners_id = $check_bus_availability[0]->bus_owners_id;
     /* $user_id_temp is used to check whether the details are accessible or not */
     $user_id_temp = BusOwner::where('id', $bus_owners_id)->get()[0]->user_id;
     $user_type = $validateAndHandleError->userIdentifier($user_id);
     /* details are only accessible by admin and bus owner */
     if ($user_type == "customer" || $user_type == "dealer" || $user_type == "unknown" || $user_type == "bus_owner" && $user_id_temp != $user_id) {
         return $response->errorResponse("details_not_accessible");
     }
     $is_dropping_details_updated = BusDroppingPoint::where('id', $dropping_id)->where('buses_id', $buses_id)->where('bus_departure_points_id', $bus_departure_points_id)->update(['dropping_point' => $dropping_point, 'dropping_time' => $dropping_time, 'price' => $price]);
     $info = array('bus_dropping_id' => $dropping_id, 'bus_id' => $buses_id, 'bus_owners_id' => $bus_owners_id, 'departure_id' => $bus_departure_points_id, 'dropping_point' => $dropping_point, 'dropping_time' => $dropping_time, 'price' => $price);
     if ($is_dropping_details_updated == 1) {
         return $response->successResponse(200, "Bus dropping details has been updated successully", $info);
     }
     return $response->errorResponse("update_unsuccessfull");
 }
Exemple #9
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function conductorUpdate(ConductorBusRequest $request, $id)
 {
     $input = $request->all();
     $obj = Bus::findOrFail($id);
     $obj->conductor_id = $input['conductor_id'];
     $obj->save();
     Session::flash('mensaje', 'Conductor asignado a bus');
     Session::flash('alert-class', 'alert-success');
     return redirect(route('buses_detail', ['id' => $id]));
 }
 public function allBuses()
 {
     $buses = Bus::all();
     return view('pages.all_buses', ['buses' => $buses]);
 }