Ejemplo n.º 1
0
 public function purchaseMembershipComplete(PurchaseMembershipRequest $request)
 {
     $user = Auth::user();
     $membership = Membership::findOrFail($request->membership_id);
     $payment_method = Payment_Method::findOrFail($request->payment_method_id);
     $transaction = new Transaction();
     $transaction->payment_method_id = $request->payment_method_id;
     $transaction->name = "Membership Fee";
     $transaction->description = $membership->name;
     $transaction->amount = $membership->cost;
     $transaction->grant_membership = $membership->includes_membership;
     $user->transactions()->save($transaction);
     $user_membership = new User_Membership();
     $user_membership->membership_id = $membership->id;
     $user_membership->transaction_id = $transaction->id;
     $user_membership->spaces_left = $membership->free_classes;
     $user->user_memberships()->save($user_membership);
     $tags = ["first_name" => $user->first_name, "last_name" => $user->last_name, "transaction_name" => $transaction->name, "transaction_description" => $transaction->description, "transaction_amount" => sprintf('£%01.2f', $transaction->amount), "payment_method" => $transaction->payment_method->name];
     EmailHelper::sendEmail(EmailHelper::PURCHASE_COMPLETE, $tags, $user->email);
     return view('users.purchase_membership_complete', compact('user', 'transaction', 'membership'));
 }
Ejemplo n.º 2
0
 public function bookClassPaymentComplete(BookClassPaymentRequest $request)
 {
     $user = Auth::user();
     $class = Classe::findOrFail($request->classe_id);
     $payment_method = Payment_Method::findOrFail($request->payment_method_id);
     $transaction = new Transaction();
     $transaction->payment_method_id = $payment_method->id;
     $transaction->name = "Class Payment";
     $transaction->description = $class->title . " on " . $class->date;
     if ($payment_method->has_cost) {
         if ($user->member || $user->admin) {
             $transaction->amount = $class->cost_member;
         } else {
             $transaction->amount = $class->cost;
         }
     } else {
         $transaction->amount = 0;
     }
     $user->transactions()->save($transaction);
     DB::table('classe_user')->insert(['classe_id' => $class->id, 'user_id' => $user->id, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), 'used_free_space' => 0, 'transaction_id' => $transaction->id, 'rejected' => 0]);
     $tags = ["payment_method" => $payment_method->name, "cost" => sprintf('£%01.2f', $transaction->amount)];
     $this->emailBookingComplete($user, $class, $tags);
     $this->bookGuest($user, $class, $request->guest_name);
     return Redirect::action('ClassesController@show', [$class->id])->with("good", "Successfully booked onto class.");
 }