@@ -21,15 +21,16 @@ public function index(): View
21
21
{
22
22
return view ('frontend.payment.index ' );
23
23
}
24
- public function create (string $ model , string $ id ): View
24
+ public function create (string $ model , string $ id, $ purchase_id = null ): View
25
25
{
26
26
$ table = str (str ($ model )->snake ())->plural ();
27
27
$ record = DB ::table ($ table )->find ($ id );
28
28
$ incomeSources = IncomeSource::latest ()->get ();
29
29
$ paymentMethods = Setting::select ('payment ' )->first ()->pluck ('payment ' )[ 0 ];
30
- return view ('frontend.pages.payment.create ' , compact ('model ' , 'id ' , 'record ' , 'incomeSources ' , 'paymentMethods ' ));
30
+ $ purchase = Purchase::find ($ purchase_id );
31
+ return view ('frontend.pages.payment.create ' , compact ('model ' , 'id ' , 'record ' , 'incomeSources ' , 'paymentMethods ' , 'purchase ' ));
31
32
}
32
- public function store (Request $ request )
33
+ public function store (Request $ request, $ purchase_id = null )
33
34
{
34
35
$ request ->validate ([
35
36
'purchasable_type ' => 'required ' ,
@@ -125,7 +126,10 @@ public function store(Request $request)
125
126
$ status = 'partial ' ;
126
127
}
127
128
128
- Purchase::create ([
129
+ Purchase::updateOrCreate ([
130
+ 'id ' => $ request ->purchase_id
131
+ ],
132
+ [
129
133
'user_id ' => auth ()->id (),
130
134
'name ' => $ request ->name ,
131
135
'promo_code_id ' => $ promoCode ->id ?? null ,
0 commit comments