/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $squares = $request->input('chosen'); $purchase = Purchase::create(array('name' => $request->input('name'), 'email' => $request->input('email'))); foreach ($squares as $square_id) { $s = Square::find($square_id); $s->class = 'taken'; $s->status = 'purchased'; $s->save(); PurchaseSquare::create(array('purchase_id' => $purchase->id, 'square_id' => $s->id)); } return PurchaseSquare::where('purchase_id', $purchase->id)->get(); }
/** * Update the specified resource in storage. * /api/admin/set/{id}/move * @param Request $request * @param int $id * @return Response */ public function move(Request $request, $id) { $from = PurchaseSquare::where('square_id', $request->input('from'))->first(); $from->square_id = $request->input('to'); $from->save(); $square_old = Square::find($request->input('from')); $square_old->status = 'available'; $square_old->class = null; $square_old->save(); $square_new = Square::find($request->input('to')); $square_new->class = 'taken'; $square_new->status = 'unavailable'; $square_new->save(); return $from; }
/** * Display an overview of the donations and progress * /admin * @return Response */ public function index() { $set = Set::with('purchases.squares', 'squares.purchase.media')->where('id', 1)->first(); $purchased_squares = PurchaseSquare::where('set_id', $set->id)->count(); return view('admin.index', ['set' => $set, 'purchased_squares' => $purchased_squares]); }