Esempio n. 1
0
 public function postPurchases()
 {
     $input_start_date = \Input::get('start_date');
     if ($input_start_date == "") {
         $input_start_date = "01/01/1900";
     }
     $start_date = \DateTime::createFromFormat('d/m/Y', $input_start_date);
     $input_end_date = \Input::get('end_date');
     if ($input_end_date == "") {
         $end_date = new \DateTime("NOW");
     } else {
         $end_date = \DateTime::createFromFormat('d/m/Y', $input_end_date);
     }
     $data = UserPricelist::where('created_at', '>=', $start_date)->where('created_at', '<=', $end_date)->orderBy('created_at', 'desc')->get();
     if (count($data) == 0) {
         $errors = new \Illuminate\Support\MessageBag();
         $errors->add('downloadError', "There's no data within the dates specified.");
         return \Redirect::to('admin/purchases')->withErrors($errors);
     }
     \Excel::create('Redmin_Purchases_Report', function ($excel) use($data) {
         $excel->sheet('Purchases Report', function ($sheet) use($data) {
             $sheet->loadView('redminportal::reports/purchases')->with('data', $data);
         });
     })->download('csv');
 }
 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)
 {
     $purchase = UserPricelist::find($sid);
     if ($purchase == null) {
         $errors = new \Illuminate\Support\MessageBag();
         $errors->add('userError', "The purchase record may have already been deleted.");
         return redirect('admin/purchases')->withErrors($errors);
     }
     $purchase->delete();
     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');
 }