/** * Update the specified resource in storage. * PATCH /vehicle-types/{id} * * @param int $id * @return Response */ public function update($id) { $type = VehicleTypeRef::find($id); if (!$type) { return Redirect::action('VehicleTypeRefsController@index'); } $type->fill(Input::all()); if ($type->save()) { return Redirect::action('VehicleTypeRefsController@index'); } return Redirect::action('VehicleTypeRefsController@index'); }
/** * Store a new car * POST /api/users/self/cars * * @return Response */ public function selfStore() { $user = Auth::user(); // if (!Input::has('number')) // return $this->respondInsufficientPrivileges('Please select number'); $validator = Car::validate(Input::all()); if ($validator->fails()) { return $this->respondInsufficientPrivileges($validator->messages()->all()); } $number = strtoupper(Input::get('number')); // if ($number[2] == 'Z' && $number[3] == 'Z') // return $this->respondInsufficientPrivileges('Wrong number. There is no ZZ'); $region = substr($number, 0, 2); if (is_numeric($number[0]) && (int) Input::get('vehicle_type') != 3) { // smells a bit but whatever switch ((int) $region) { case $region == 0: return $this->respondInsufficientPrivileges('Недопустимый код региона'); case $region >= 73 && $region <= 84: return $this->respondInsufficientPrivileges('Недопустимый код региона'); case $region >= 86 && $region <= 89: return $this->respondInsufficientPrivileges('Недопустимый код региона'); case $region >= 91 && $region <= 98: return $this->respondInsufficientPrivileges('Недопустимый код региона'); } } if (is_numeric($number[0]) && strlen($number) > 6) { $zerosCount = 3; // amount of zeros // check if all numbers are zeros $zeros = array_diff(array_slice(str_split($number), 4), array_fill(0, $zerosCount, 0)); if (empty($zeros)) { return $this->respondInsufficientPrivileges("Номер не может быть с {$zerosCount} нулями"); } } elseif (strlen($number) > 6) { $zerosCount = 6; $zeros = array_diff(array_slice(str_split($number), 1), array_fill(0, $zerosCount, 0)); if (empty($zeros)) { return $this->respondInsufficientPrivileges("Номер не может быть с {$zerosCount} нулями"); } } // if seria in number are in AA, PA, РМ, YP. Which is not allowed. if (Car::checkSeria($number)) { return $this->respondInsufficientPrivileges('Номера с сериями АА, РА, РМ и YP добавляются в профиль пользователя службой поддержки только при подтверждении факта владения или пользования данной машиной. Обратитесь в техподдержку.'); } $car = new Car(Input::all()); $mark = MarkRef::find($car->mark); $model = ModelRef::find($car->model); $vehicleType = VehicleTypeRef::find($car->vehicle_type); $this->subscribe($user, "{$this->morphWord($vehicleType)} {$mark->name}"); $this->subscribe($user, $mark->name . ' ' . $model->name); if ($user->cars()->save($car)) { $imgCollection = Image::findMany(Input::get('img')); foreach ($imgCollection as $imgObject) { $car->images()->save($imgObject); } return $this->respond($this->collectionTransformer->transformCar($car)); } return $this->respondServerError(); }