Exemple #1
0
 /**
  * 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.'));
         }
     }
 }