/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(CreateEventRequest $req)
 {
     $input = $req->all();
     // Makes sure chair_id enters database as an integer or null if left empty.
     strcmp($input['chair_id'], "") == 0 ? $input['chair_id'] = null : ($input['chair_id'] = (int) $input['chair_id']);
     // Ensures database times are always in UTC.
     foreach ($input as $key => $value) {
         // Ensures only time fields are changed.
         if (!strpos($key, 'time')) {
             continue;
         }
         // Converts time from PST to UTC.
         $pst = new Carbon($value, 'America/Los_Angeles');
         $utc = $pst->setTimezone('UTC');
         // Sets date/time string back into values for database.
         $input[$key] = $utc->toDateTimeString();
     }
     $input['creator_id'] = \Auth::id();
     // Set creator ID by default
     // Set default close time if needed
     if (!isset($input['close_time'])) {
         $input['close_time'] = $input['start_time'];
     }
     // Set default open time if needed
     if (!isset($input['open_time'])) {
         $input['open_time'] = Carbon::now();
     }
     // Create event
     $event = Event::create($input);
     return redirect()->action('EventsController@show', $event->slug);
 }
 /**
  * Save a new event
  *
  * @return redirect
  **/
 public function save(CreateEventRequest $request)
 {
     $event = Event::create($request->except(['_token', 'players']));
     foreach ($request->players as $playerId) {
         $event->players()->save(Player::find($playerId));
     }
     return redirect()->route('dashboard.events.single', $event->id)->with('app-success', 'Your event has been created.');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  App\Http\Requests\CreateEventRequest
  * @param  \App\Event
  * @return \Illuminate\Http\Response
  */
 public function update(CreateEventRequest $request, Event $event)
 {
     if ($request->ajax()) {
         $title = $request->input('title');
         $location = $request->input('location');
         $date = $request->input('date');
         $date = $date === null ? null : new Carbon($date);
         $event->update(compact('title', 'date', 'location'));
         return;
     }
     return redirect(action('EventsController@index'));
 }
 public function update(Requests\CreateEventRequest $request, $id)
 {
     $params = $request->except(['_token']);
     $existingEvent = Calendar::find($id);
     if ($existingEvent) {
         $existingEvent->update($params);
         $request->session()->flash("notif", "schedule successfully updated");
     } else {
         $request->session()->flash("notif", "The requested schedule is not available");
     }
     return redirect('admin/events');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, CreateEventRequest $request, Event $event)
 {
     $event->find($id)->update($request->all());
     Session::flash('message', 'The event was successfully updated!.');
     Session::flash('flash_type', 'alert-success');
     return redirect('events');
 }
 /**
  * Store a newly created event in storage.
  *
  * @return Response
  */
 public function store(CreateEventRequest $request)
 {
     $event = new Event();
     // NAME AND USER_ID
     $event->name = $request->name;
     $event->user_id = \Auth::id();
     // PLACE
     $place = Place::where('id', '=', $request->id)->first();
     if (!$place) {
         $place = new Place($request->only(['id', 'place_lat', 'place_lng', 'country', 'state', 'city']));
         $place->save();
     }
     // DATES (START & END)
     $convert_date = date("Y-m-d", strtotime($request->date_start));
     $event->date_start = $convert_date;
     if ($request->date_end) {
         $convert_date = date("Y-m-d", strtotime($request->date_end));
         $event->date_end = $convert_date;
     }
     // PHOTO
     if (\Input::hasFile('img')) {
         $file = \Input::file('img');
         $name = str_random(32);
         while (!User::where('avatar', '=', $name . $file->getClientOriginalExtension())->get()->isEmpty()) {
             $name = str_random(32);
         }
         $filename = $name . '.' . $file->getClientOriginalExtension();
         $event->photo = $filename;
         $file->move(public_path() . sprintf("/img/events_large"), $filename);
         Image::make(public_path() . '/img/events_large/' . $filename)->fit(1024, 576)->save();
         Image::make(public_path() . '/img/events_large/' . $filename)->resize(300, 169)->save(public_path() . '/img/events/' . $filename);
     }
     // DESCRIPTION
     $event->description = $request->description;
     // SAVE EVENT
     $event->save();
     // RELATION EVENT_PLACE
     if ($request->id != null) {
         $event_place = new EventPlace();
         $event_place->event_id = $event->id;
         $event_place->place_id = $place->id;
         $event_place->save();
     }
     //Send message and redirect to events.
     \Session::flash('message', 'Event created successfully');
     return redirect()->route('events.index');
 }
Exemple #7
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Requests\CreateEventRequest $request, Event $event)
 {
     $input = $request->all();
     $input['ep'] = $this->_calculateEffortPoints($input);
     $currentMemberIds = $event->getMemberIdsAsArray();
     foreach ($currentMemberIds as $currentMemberId) {
         if (!in_array($currentMemberId, $input['members'])) {
             $event->members()->detach($currentMemberId);
         }
     }
     if (is_array($input['members'])) {
         foreach ($input['members'] as $memberId) {
             if (!in_array($memberId, $currentMemberIds)) {
                 $event->members()->attach($memberId);
             }
         }
     }
     $event->update($input);
     return redirect('events');
 }
 public function update(Requests\CreateEventRequest $request, $id)
 {
     $params = $request->except(['_token']);
     $date = \DateTime::createFromFormat('m/d/Y', $params['date']);
     $params['date'] = $date->format('Y-m-d');
     $existingEvent = Event::find($id);
     if ($existingEvent) {
         $existingEvent->update($params);
         // managed removed images
         if (isset($params['rem_files'])) {
             $remainingImgIds = $params['rem_files'];
             foreach ($remainingImgIds as $fileId) {
                 $imgFile = File::find($fileId);
                 if ($imgFile) {
                     try {
                         // delete from db
                         $imgFile->delete();
                         // delete from local storage
                         \Illuminate\Support\Facades\File::delete(MyHelper::getImageFromStorage($existingEvent->id, $imgFile->new_filename));
                         // unbind from event
                         DB::table('event_files')->where('event_id', $existingEvent->id)->where('file_id', $fileId)->delete();
                     } catch (\Exception $e) {
                         Log::info($e->getMessage());
                     }
                 }
             }
         }
         $hasAttachment = $request->hasFile('files');
         if ($hasAttachment) {
             $images = $request->file('files');
             $this->handleAttachedImages($images, $existingEvent->id);
         }
         $request->session()->flash("notif", "Event successfully updated");
     } else {
         $request->session()->flash("notif", "The requested event is not available");
     }
     return redirect('events');
 }