public function getInvolved() { $page = $this->contentRepository->getPageByName('get involved'); $sponsors = Sponsor::ordered()->get(); $charities = Charity::ordered()->get(); $expeditionistPdf = FileResource::where('name', 'Become an expeditionist')->first(); $volunteerPdf = FileResource::where('name', 'Become a volunteer')->first(); return view('front.pages.getinvolved')->with(compact('page', 'sponsors', 'charities', 'expeditionistPdf', 'volunteerPdf')); }
/** *@test */ public function charities_can_be_ordered_by_passing_an_ordered_list_of_ids() { factory(Charity::class)->create(['name' => 'second', 'id' => 1]); factory(Charity::class)->create(['name' => 'first', 'id' => 2]); factory(Charity::class)->create(['name' => 'fourth', 'id' => 3]); factory(Charity::class)->create(['name' => 'third', 'id' => 4]); Charity::setOrder([2, 1, 4, 3]); $ordered = Charity::ordered()->get(); $this->assertEquals('first', $ordered->first()->name); $this->assertEquals('second', $ordered[1]->name); $this->assertEquals('third', $ordered[2]->name); $this->assertEquals('fourth', $ordered->last()->name); }
/** *@test */ public function charities_can_be_ordered_by_posting_to_an_endpoint() { factory(Charity::class)->create(['name' => 'second', 'id' => 1]); factory(Charity::class)->create(['name' => 'first', 'id' => 2]); factory(Charity::class)->create(['name' => 'fourth', 'id' => 3]); factory(Charity::class)->create(['name' => 'third', 'id' => 4]); $this->asAnAdminUser(); $this->withoutMiddleware(); $response = $this->call('POST', '/admin/charities/order', ['order' => [2, 1, 4, 3]]); $this->assertEquals(200, $response->status()); $ordered = Charity::ordered()->get(); $this->assertEquals('first', $ordered->first()->name); $this->assertEquals('second', $ordered[1]->name); $this->assertEquals('third', $ordered[2]->name); $this->assertEquals('fourth', $ordered->last()->name); }
public function index() { $charities = Charity::ordered()->get(); return view('admin.charities.index')->with(compact('charities')); }
protected function getCharities() { return Cache::remember('home:charities', static::CACHE_DURATION, function () { return Charity::ordered()->get(); }); }