/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['name' => 'required|min:3', 'category_id' => 'required']); $venue = new Venue(); \DB::transaction(function () use($request, $venue) { $venue->name = $request->get('name'); $venue->category_id = $request->get('category_id'); $venue->city = $request->get('city'); $venue->latitude = $request->get('latitude'); $venue->longitude = $request->get('longitude'); $venue->address = $request->get('address'); $venue->country = $request->get('country'); $venue->zip = $request->get('zip'); $venue->number = $request->get('number'); $venue->email = $request->get('email'); $venue->website = $request->get('website'); if ($request->hasFile('logo') && $request->file('logo')->isValid()) { $venueLogo = $request->file('logo'); $uri = config('services.uploads')['venues-logos']; $path = public_path() . $uri; $this->createFolderIfNotExists($path); $destinationPath = $path; $fileName = "i" . $venue->id . "." . $venueLogo->getClientOriginalExtension(); $venueLogo->move($destinationPath, $fileName); \Log::debug(sprintf("New icon image has been uploaded to %s, under the name %s", $destinationPath, $fileName)); $venue->logo = $uri . $fileName; // I might not use it, since I can predict what the name is going to be! id.xx } $venue->save(); $venue->admins()->attach(auth()->user()); }); session()->flash('message', ['success', 'Successfully Added!']); return redirect(action('VenueController@index')); }
/** * Creates a new Venue model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { if (Yii::$app->user->can('venueCreate')) { $model = new Venue(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id, 'VenueType_id' => $model->VenueType_id]); } else { return $this->render('create', ['model' => $model]); } } else { if (Yii::$app->user->isGuest) { Yii::$app->user->loginRequired(); } else { throw new ForbiddenHttpException(Yii::t('yii', 'You are not allowed to perform this action.')); } } }