/** * 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}/available * @param Request $request * @param int $id * @return Response */ public function available(Request $request, $id) { $unavailable = $request->input('chosen'); $available = $request->input('unchosen'); if (count($available) > 0) { foreach ($available as $square_id) { $s = Square::find($square_id); $s->status = 'available'; $s->save(); } } if (count($unavailable) > 0) { foreach ($unavailable as $square_id) { $s = Square::find($square_id); $s->status = 'invisible'; $s->save(); } } $set = Set::find($id); $set->available = $set->rows * $set->cols - Square::where('set_id', $id)->where('status', 'invisible')->count(); $set->save(); return $set; }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { \Stripe\Stripe::setApiKey(env('STRIPE_PRI', null)); // Create a Customer $customer = \Stripe\Customer::create(array("source" => $request->input('token_id'), "description" => $request->input('name') . ' ' . $request->input('email'))); // Charge the Customer instead of the card \Stripe\Charge::create(array("amount" => $request->input('price') * 100, "currency" => "usd", "customer" => $customer->id)); $set = Set::find(1); $data = array('set_id' => $set->id, 'customer_id' => $customer->id, 'price' => $request->input('price'), 'name' => $request->input('name'), 'email' => $request->input('email'), 'optin' => $request->input('optin')); if ($request->has('media_id')) { $data['media_id'] = $request->input('media_id'); } else { if ($request->has('color')) { $data['color'] = $request->input('color'); } } $purchase = Purchase::create($data); // Mobile doesn't have chosen array if ($request->has('mobile')) { $squares = Square::where('status', 'available')->where('set_id', $set->id)->take($request->input('blocks'))->get(); foreach ($squares as $s) { $s->class = 'taken'; $s->status = 'unavailable'; $s->save(); PurchaseSquare::create(array('purchase_id' => $purchase->id, 'square_id' => $s->id, 'set_id' => $set->id)); } } else { $squares = $request->input('chosen'); foreach ($squares as $square_id) { $s = Square::find($square_id); $s->class = 'taken'; $s->status = 'unavailable'; $s->save(); PurchaseSquare::create(array('purchase_id' => $purchase->id, 'square_id' => $s->id, 'set_id' => $set->id)); } } return $purchase; }