Пример #1
0
 /**
  * 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);
 }
Пример #2
0
 public function store(Requests\CreateEventRequest $request)
 {
     $params = $request->except(['_token']);
     $date = \DateTime::createFromFormat('m/d/Y', $params['date']);
     $params['date'] = $date->format('Y-m-d');
     $params['user_id'] = Auth::user()->id;
     $event = Event::create($params);
     if ($event) {
         $hasAttachment = $request->hasFile('files');
         if ($hasAttachment) {
             $images = $request->file('files');
             $this->handleAttachedImages($images, $event->id);
         }
         $request->session()->flash("notif", "Event successfully added");
         return redirect('/events');
     }
     return redirect()->back()->withInput($request->all());
 }
Пример #3
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');
 }
Пример #4
0
 /**
  * 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');
 }