public function postStore() { $sid = \Input::get('id'); $rules = array('pricelist_id' => 'required|integer', 'transaction_id' => 'required', 'payment_status' => 'required', 'paid' => 'numeric', 'email' => 'required|email'); $validation = \Validator::make(\Input::all(), $rules); $redirect_url = isset($sid) ? 'admin/purchases/edit/' . $sid : 'admin/purchases/create'; if ($validation->fails()) { return redirect($redirect_url)->withErrors($validation)->withInput(); } $pricelist_id = \Input::get('pricelist_id'); $transaction_id = \Input::get('transaction_id'); $payment_status = \Input::get('payment_status'); $paid = \Input::get('paid'); $email = \Input::get('email'); $pricelist = Pricelist::find($pricelist_id); // No such pricelist if ($pricelist == null) { $errors = new \Illuminate\Support\MessageBag(); $errors->add('pricelistError', "The Module/Membership may have been deleted. Please try again."); return redirect($redirect_url)->withErrors($errors)->withInput(); } $user = User::where('email', $email)->first(); if ($user == null) { // No such user $errors = new \Illuminate\Support\MessageBag(); $errors->add('userError', "The user may have been deleted. Please try again."); return redirect($redirect_url)->withErrors($errors)->withInput(); } // Check if user_pricelist already exist $existing = UserPricelist::join('order_pricelist', 'orders.id', '=', 'order_pricelist.id')->where('orders.user_id', $user->id)->where('order_pricelist.pricelist_id', $pricelist->id)->count(); if ($existing > 0) { $errors = new \Illuminate\Support\MessageBag(); $errors->add('userpricelistError', $email . " has already purchased " . $pricelist->module->name . " (" . $pricelist->membership->name . ")."); return redirect($redirect_url)->withErrors($errors)->withInput(); } $new_purchase = new UserPricelist(); $new_purchase->user_id = $user->id; $new_purchase->pricelist_id = $pricelist->id; $new_purchase->paid = $paid; $new_purchase->transaction_id = $transaction_id; $new_purchase->payment_status = $payment_status; $new_purchase->save(); return redirect('admin/purchases'); }
public function getDelete($sid) { // Find the module using the user id $module = Module::find($sid); if ($module == null) { $errors = new \Illuminate\Support\MessageBag(); $errors->add('deleteError', "We are having problem deleting this entry. Please try again."); return \Redirect::to('admin/modules')->withErrors($errors); } $purchases = UserPricelist::join('pricelists', 'pricelists.id', '=', 'user_pricelists.pricelist_id')->where('pricelists.module_id', $sid)->get(); if (count($purchases) > 0) { $errors = new \Illuminate\Support\MessageBag(); $errors->add('deleteError', "This module has been purchased before. You cannot delete it. Please change disable it instead."); return \Redirect::to('admin/modules')->withErrors($errors); } // Delete the module $module->delete(); return \Redirect::to('admin/modules'); }