/** * Execute the console command. * * @return mixed */ public function handle() { $period = Competition::find(1)->current_period; $winners = Winner::where('period', $period)->get(); $data = ['title' => 'Winners of period' . $period, 'content' => '', 'winners' => $winners]; Mail::send('emails.welcome', $data, function ($message) { $message->to('*****@*****.**', 'Oscar'); $message->subject('hello world'); }); }
/** * Updates the competition * * @param $id * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function update($id, CompetitionFormRequest $request) { //get the event $competition = Competition::findOrFail($id); //update the event $competition->update($request->all()); //redirect //return redirect(action('EventsController@admin', $request->input('event'))); return Redirect::back()->with(['tabName' => 'competitions']); }
public function competition_select($id, $subid) { $competition = Competition::whereId($id)->first(); $competitiongroups = Competitiongroup::where('competition_id', '=', $competition->id)->orderBy('date', 'desc')->get(); if (!$competitiongroups->isEmpty()) { $competitiongroup = Competitiongroup::whereId($subid)->firstOrFail(); $results = Result::where('competitiongroup_id', '=', $competitiongroup->id)->where('dsq_status', 0)->orderBy('total_points', 'desc')->get(); $results_dsq = Result::where('competitiongroup_id', '=', $competitiongroup->id)->where('dsq_status', 1)->get(); $teams = Results_team::where('competitiongroup_id', '=', $competitiongroup->id)->orderBy('total_points', 'desc')->get(); } return view('home', compact('competition', 'competitiongroups', 'competitiongroup', 'results', 'results_dsq', 'teams')); }
/** * Bootstrap any application services. * * @return void */ public function boot() { Blade::directive('datetime', function ($expression) { return "<?php echo with{$expression}->format('m/d/Y H:i'); ?>"; }); View::composer('header', function ($view) { $view->with(['user' => Auth::user()]); }); Validator::extend('valid_category', function ($attribute, $value, $parameters, $validator) { $competition = Competition::findOrFail($parameters[0]); $category = $competition->categories()->where('id', '=', $value)->firstOrFail(); return !is_null($competition) && !is_null($category); }); }
public function update(CompetitiongroupFormRequest $request, $id) { $competitiongroup = Competitiongroup::findOrFail($id); $in_competition = $request->competition_id; $competitiongroup->competition_id = $request->competition_id; $competitiongroup->date = $request->date; $competitiongroup->type = $request->type; $competitiongroup->sex = $request->sex; $competitiongroup->age_group = $request->age_group; $competitiongroup->name = $request->age_group . ' ' . $request->sex . ' ' . $request->type; $competitiongroup->save(); $competition = Competition::where('id', '=', $in_competition)->firstOrFail(); $competition->in_competition = 1; $competition->save(); return redirect('/admin/competitiongroups')->with('status', 'Csoport adatai módosítva'); }
public function destroy($id) { Competition::findOrFail($id)->delete(); return redirect('/admin/competitions')->with('status', 'Verseny törölve'); }
/** * Formats a messy form and presents the user with a confirmation page (form) before * proceeding to payment. */ public function confirmEntry(Request $request) { // returns a confirm view which then sends the user to the store function above. $data = $request->all(); $user = Auth::user(); $event = Event::findOrFail($data['event_id']); $compSubTotal = 0; $extraSubTotal = 0; //Format the competitions for display in the confirmation form $entries = array(); //$competitions[$id] = array('detail' => $detail, 'competition' => $competition) foreach ($data['competitions'] as $competition_id => $detail_id) { if ($detail_id != "noEntry") { $competition = Competition::findOrFail($competition_id); $detail = Detail::findOrFail($detail_id); $entries[$competition_id] = array('competition' => $competition, 'detail' => $detail); $compSubTotal += $competition->fee; } } //if for some reason the competitor has forgotten to select a competition, bump them back. if (empty($entries)) { \Flash::error('You need to select a competition to enter before you can proceed.'); return redirect(action('EventsController@show', $event->slug)); } //Format the extras for display in the confirmation form $extras = array(); if (key_exists('extras', $data)) { foreach ($data['extras'] as $extra_id => $extraOrder) { $multiple = 1; $infoRequired = NULL; if (is_string($extraOrder) == False) { //This is an extra order with an array of info if (array_key_exists('multiple', $extraOrder)) { $multiple = $extraOrder['multiple']; } if (array_key_exists('infoRequired', $extraOrder)) { $infoRequired = $extraOrder['infoRequired']; } } $extra = Extra::findOrFail($extra_id); $thisExtraTotal = $extra->cost * $multiple; $extraSubTotal += $thisExtraTotal; $extras[$extra_id] = array('id' => $extra_id, 'multiple' => $multiple, 'infoRequired' => $infoRequired, 'extra' => $extra, 'thisExtraCost' => $thisExtraTotal); } } //Format the discounts so that the fixed and percentage discounts //can be applied separately, fixed first. $discounts = array(); $fixedDiscounts = array(); $percentageDiscounts = array(); $discounts_applied = ""; if (key_exists('discounts', $data)) { foreach ($data['discounts'] as $discount_id => $discountApply) { if ($discountApply == 1) { $discount = Discount::findOrFail($discount_id); $discounts[] = $discount; $discounts_applied = $discounts_applied . $discount_id . "-"; } } $discounts = collect($discounts); $fixedDiscounts = $discounts->where('type', 'fixed'); $percentageDiscounts = $discounts->where('type', 'percentage'); } //total (just competitions and extras) $compExtraSubtotal = $compSubTotal + $extraSubTotal; //Apply any discounts to the compextrasubtotal & registration fee //fixed fees first, then %. $discountedSubtotal = $compExtraSubtotal; $discountedRegistrationFee = $event->registrationFee; $percentageDiscountValues = array(); foreach ($fixedDiscounts as $fd) { $discountedSubtotal = $discountedSubtotal - $fd->value; } foreach ($percentageDiscounts as $pd) { $percentage = $pd->value / 100; $discount = $discountedSubtotal * $percentage; $percentageDiscountValues[$pd->id] = $discount; $discountedSubtotal = $discount; $discountedRegistrationFee = $discountedRegistrationFee * $percentage; } //Charge a late entry fee? //if it's past the closing date $lateEntryFee = 0; if (Carbon::now()->gt($event->closingDate)) { $lateEntryFee = $event->lateEntriesFee; } //FORESIGHT FEE $foresightFee = 2.99; $finalsubtotal = $discountedSubtotal + $discountedRegistrationFee + $lateEntryFee + $foresightFee; //paypal fees (3.4% + 20p) $paypalFees = $finalsubtotal * 0.034 + 0.2; $feesTotal = $discountedRegistrationFee + $lateEntryFee + $foresightFee + $paypalFees; $grandTotal = $finalsubtotal + $paypalFees; $format = "%4.2f"; $variables = array('entrydata' => $data, 'event' => $event, 'user' => $user, 'entries' => $entries, 'extras' => $extras, 'fixedDiscounts' => $fixedDiscounts, 'percentageDiscounts' => $percentageDiscounts, 'percentageDiscountValues' => $percentageDiscountValues, 'compSubTotal' => sprintf($format, $compSubTotal), 'extraSubTotal' => sprintf($format, $extraSubTotal), 'compExtraSubtotal' => sprintf($format, $compExtraSubtotal), 'discountedSubtotal' => sprintf($format, $discountedSubtotal), 'discountedRegistrationFee' => sprintf($format, $discountedRegistrationFee), 'lateEntryFee' => sprintf($format, $lateEntryFee), 'paypalFees' => sprintf($format, $paypalFees), 'feesTotal' => sprintf($format, $feesTotal), 'grandTotal' => sprintf($format, $grandTotal), 'discounts_applied' => $discounts_applied, 'foresightFee' => sprintf($format, $foresightFee)); //dd($variables); return view('events.entryconfirm')->with($variables); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Competition $competition) { $competition->delete(); }
/** * Export list of competitors and competitions */ public function export($type, $id) { $header = array('Competitor name', 'ID', 'Email', 'Club', 'Home Country'); if ($type == 'competitors') { $event = Event::findOrFail($id); $entries = $event->entries()->get()->sortBy('user_lastname'); $competitor_ids = $entries->pluck('user_id')->unique(); $competitions = $event->competitions()->get(); $header = array(); foreach ($competitions as $competition) { $header[] = $competition->name; } $sheetdata = array($header); foreach ($competitor_ids as $competitor_id) { $competitorEntries = $event->entries()->get()->where('user_id', $competitor_id); $thisCompetitor = User::findOrFail($competitor_id); $name = $thisCompetitor->lastname . ", " . $thisCompetitor->firstname; $row = array($name); foreach ($competitions as $competition) { $entered_competition_ids = array(); foreach ($competitorEntries as $entry) { $entered_competition_ids[] = $entry->competition_id; } if (in_array($competition->id, $entered_competition_ids)) { $row[] = "Entered"; } else { $row[] = ""; } } $sheetdata[] = $row; } Excel::create('competitors', function ($excel) use($sheetdata) { $excel->setTitle('Competitors List'); $excel->setCreator('Foresight Entries'); $excel->setCompany('Foresightentries.com'); $excel->setDescription('Competitors list'); // Create the sheet $excel->sheet('Competitors', function ($sheet) use($sheetdata) { $sheet->fromArray($sheetdata); }); })->export('xlsx'); return redirect()->back(); } // Download ALL the data in one mega spreadsheet (for the overview tab) if ($type == 'event') { $event = Event::findOrFail($id); $competitions = $event->competitions()->get(); $megaheader = $header; $sheets = array(); //Sheet showing all competitors, their entries, their answers, extras and how much paid // -- HEADERS -- // ---- competitions -- foreach ($event->competitions()->get() as $competition) { $megaheader[] = $competition->name; } // ---- questions -- foreach ($event->questions()->get() as $question) { $megaheader[] = $question->question; } // ---- extras -- foreach ($event->extras()->get() as $extra) { //fill in once extras is worked out } // ---- financial -- $megaheader[] = "Entry fees (total)"; //MEGASHEET INITIALISE $megasheet = array($megaheader); // DATA ENTRY TO MEGASHEET $entries = $event->entries()->get()->sortBy('user_lastname'); $competitor_ids = $entries->pluck('user_id')->unique(); foreach ($competitor_ids as $competitor_id) { $thisCompetitor = User::findOrFail($competitor_id); $row = array($thisCompetitor->firstname . " " . $thisCompetitor->lastname, $thisCompetitor->id + 1000, $thisCompetitor->email, $thisCompetitor->club, $thisCompetitor->homeCountry); // -- ENTRIES -- $competitorEntries = $event->entries()->get()->where('user_id', $competitor_id); $competitorEntriesCompetitionIDs = array(); foreach ($competitorEntries as $entry) { $competitorEntriesCompetitionIDs[$entry->competition_id] = $entry->competition_id; } foreach ($event->competitions()->get() as $competition) { // if entry->competition_id exists in $competitorEntries then entered row, else empty row. if (key_exists($competition->id, $competitorEntriesCompetitionIDs)) { $row[] = "x"; } else { $row[] = " "; } } // -- ANSWERS -- $competitorAnswers = $event->answers()->get()->where('competitor_id', $competitor_id); $competitorAnsweredQuestionIDs = array(); foreach ($competitorAnswers as $answer) { $competitorAnsweredQuestionIDs[$answer->question_id] = $answer->question_id; } //@TODO: this needs to be tested with a user who has answered questions. 5/7/16 foreach ($competitorAnswers as $competitorAnswer) { if (key_exists($competitorAnswer->question_id, $competitorAnsweredQuestionIDs)) { $row[] = $competitorAnswer->answer; } else { $row[] = "N/A"; } } // -- EXTRAS -- //@TODO: fill in once extras is worked out // -- ENTRY FEES TOTAL -- $row[] = "subtotal here (£)"; // Add the row to the megasheet $megasheet[] = $row; } //Add the megasheet to sheets $sheets["Competitors"] = $megasheet; //Sheet for each competition and detail with the entries foreach ($competitions as $competition) { $details = $competition->details()->get(); foreach ($details as $detail) { $entries = $detail->entries()->get()->sortBy('user_lastname'); $sheetdata = array($header); $competitor_ids = $entries->pluck('user_id')->unique(); foreach ($competitor_ids as $competitor_id) { $competitor = User::findOrFail($competitor_id); $row = array($competitor->firstname . " " . $competitor->lastname, $competitor->id + 1000, $competitor->email, $competitor->club, $competitor->homeCountry); $sheetdata[] = $row; } $sheets[$competition->name . "-" . $detail->name] = $sheetdata; } } Excel::create($event->name, function ($excel) use($sheets, $competitions) { $excel->setTitle('Competitors'); $excel->setCreator('Foresight Entries'); $excel->setCompany('ForesightEntries.com'); $excel->setDescription('Competitors List'); $infosheet = $sheets["Competitors"]; $excel->sheet('Competitors', function ($sheet) use($infosheet) { $sheet->fromArray($infosheet); }); foreach ($competitions as $competition) { $details = $competition->details()->get(); foreach ($details as $detail) { $sheet = $sheets[$competition->name . '-' . $detail->name]; $excel->sheet($competition->name . '-' . $detail->name, function ($thissheet) use($sheet) { $thissheet->fromArray($sheet); }); } } })->export('xlsx'); return redirect()->back(); } if ($type == 'competition') { $competition = Competition::findOrFail($id); $details = $competition->details()->get(); $sheets = array(); foreach ($details as $detail) { $entries = $detail->entries()->get()->sortBy('user_lastname'); $sheetdata = array($header); $competitor_ids = $entries->pluck('user_id')->unique(); foreach ($competitor_ids as $competitor_id) { $competitor = User::findOrFail($competitor_id); $row = array($competitor->firstname . " " . $competitor->lastname, $competitor->id + 1000, $competitor->email, $competitor->club, $competitor->homeCountry); $sheetdata[] = $row; } $sheets[$detail->name] = $sheetdata; } Excel::create($competition->name, function ($excel) use($sheets, $details) { $excel->setTitle('Competitors'); $excel->setCreator('Foresight Entries'); $excel->setCompany('ForesightEntries.com'); $excel->setDescription('Competitors List'); foreach ($details as $detail) { $sheet = $sheets[$detail->name]; $excel->sheet($detail->name, function ($thissheet) use($sheet) { $thissheet->fromArray($sheet); }); } })->export('xlsx'); return redirect()->back(); } if ($type == 'detail') { $detail = Detail::findOrFail($id); $entries = $detail->entries()->get()->sortBy('user_lastname'); $sheetdata = array($header); $competitor_ids = $entries->pluck('user_id')->unique(); foreach ($competitor_ids as $competitor_id) { $competitor = User::findOrFail($competitor_id); $row = array($competitor->firstname . " " . $competitor->lastname, $competitor->id + 1000, $competitor->email, $competitor->club, $competitor->homeCountry); $sheetdata[] = $row; } Excel::create($detail->competition()->first()->name . "-" . $detail->name, function ($excel) use($sheetdata) { $excel->setTitle('Competitors'); $excel->setCreator("Foresight Entries"); $excel->setCompany("ForesightEntries.com"); $excel->setDescription("Competitors List"); $excel->sheet('Competitors', function ($sheet) use($sheetdata) { $sheet->fromArray($sheetdata); }); })->export('xlsx'); return redirect()->back(); } if ($type == 'competitor_entries') { $event = Event::findOrFail($id); $entries = $event->entries()->get()->sortBy('user_lastname'); $competitor_ids = $entries->pluck('user_id')->unique(); //Add competition names to the header foreach ($event->competitions()->get() as $competition) { $header[] = $competition->name; } $sheetdata = array($header); foreach ($competitor_ids as $competitor_id) { $competitorEntries = $event->entries()->get()->where('user_id', $competitor_id); $competitorEntriesCompetitionIDs = array(); foreach ($competitorEntries as $entry) { $competitorEntriesCompetitionIDs[$entry->competition_id] = $entry->competition_id; } $thisCompetitor = User::findOrFail($competitor_id); $row = array($thisCompetitor->firstname . " " . $thisCompetitor->lastname, $thisCompetitor->id + 1000, $thisCompetitor->email, $thisCompetitor->club, $thisCompetitor->homeCountry); foreach ($event->competitions()->get() as $competition) { // if entry->competition_id exists in $competitorEntries then entered row, else empty row. if (key_exists($competition->id, $competitorEntriesCompetitionIDs)) { $row[] = "x"; } else { $row[] = " "; } } $sheetdata[] = $row; } Excel::create("Competitor entries", function ($excel) use($sheetdata) { $excel->setTitle('Competitor_entries'); $excel->setCreator("Foresight Entries"); $excel->setCompany("ForesightEntries.com"); $excel->setDescription("Competitors List"); $excel->sheet('Competitor_entries', function ($sheet) use($sheetdata) { $sheet->fromArray($sheetdata); }); })->export('xlsx'); return redirect()->back(); } if ($type == 'competitor_answers') { $event = Event::findOrFail($id); $entries = $event->entries()->get()->sortBy('user_lastname'); $competitors = $entries->pluck('user_id')->unique(); //Add the questions to the header foreach ($event->questions()->get() as $question) { $header[] = $question->question; } $sheetdata = array($header); foreach ($competitors as $competitor) { $competitorAnswers = $event->answers()->get()->where('competitor_id', $competitor); $competitorAnsweredQuestionIDs = array(); foreach ($competitorAnswers as $answer) { $competitorAnsweredQuestionIDs[$answer->question_id] = $answer->question_id; } $thisCompetitor = User::findOrFail($competitor); $row = array($thisCompetitor->firstname . " " . $thisCompetitor->lastname, $thisCompetitor->id + 1000, $thisCompetitor->email, $thisCompetitor->club, $thisCompetitor->homeCountry); //@TODO: this needs to be tested with a user who has answered questions. 5/7/16 foreach ($competitorAnswers as $competitorAnswer) { if (key_exists($competitorAnswer->question_id, $competitorAnsweredQuestionIDs)) { $row[] = $competitorAnswer->answer; } else { $row[] = "N/A"; } } $sheetdata[] = $row; } Excel::create("Competitor answers", function ($excel) use($sheetdata) { $excel->setTitle('Competitor_answers'); $excel->setCreator("Foresight Entries"); $excel->setCompany("ForesightEntries.com"); $excel->setDescription("Competitor answers"); $excel->sheet('Competitor_answers', function ($sheet) use($sheetdata) { $sheet->fromArray($sheetdata); }); })->export('xlsx'); return redirect()->back(); } }
/** * * @return \Illuminate\Http\Response */ public function indexAll() { $competitions = Competition::all(); return view('competitions/indexAll')->with(['competitions' => $competitions]); }