From c742b348916e910d225c136e8077fe3034176547 Mon Sep 17 00:00:00 2001 From: Purvesh Date: Wed, 4 Jul 2018 14:37:19 +1200 Subject: [PATCH 1/3] more updates for module installed command --- .../ecommerce/resources/lang/en/module.php | 10 +++++ .../resources/views/module/index.blade.php | 43 +++++++++++++++++++ .../resources/views/module/show.blade.php | 38 ++++++++++++++++ modules/avored/ecommerce/routes/web.php | 7 ++- .../src/Http/Controllers/ModuleController.php | 34 +++++++++++++++ modules/avored/ecommerce/src/Provider.php | 20 ++++++--- 6 files changed, 146 insertions(+), 6 deletions(-) create mode 100644 modules/avored/ecommerce/resources/lang/en/module.php create mode 100644 modules/avored/ecommerce/resources/views/module/index.blade.php create mode 100644 modules/avored/ecommerce/resources/views/module/show.blade.php create mode 100644 modules/avored/ecommerce/src/Http/Controllers/ModuleController.php diff --git a/modules/avored/ecommerce/resources/lang/en/module.php b/modules/avored/ecommerce/resources/lang/en/module.php new file mode 100644 index 000000000..82585e132 --- /dev/null +++ b/modules/avored/ecommerce/resources/lang/en/module.php @@ -0,0 +1,10 @@ + 'Module List', + 'module-upload' => 'Upload Module', + 'module-upload-file' => 'Upload Module File', + + 'activate' => 'Activate', + 'deactivate' => 'Deactivate', +]; diff --git a/modules/avored/ecommerce/resources/views/module/index.blade.php b/modules/avored/ecommerce/resources/views/module/index.blade.php new file mode 100644 index 000000000..e523b42a1 --- /dev/null +++ b/modules/avored/ecommerce/resources/views/module/index.blade.php @@ -0,0 +1,43 @@ +@extends('avored-ecommerce::layouts.app') + +@section('content') +
+ +
+
+ {{ __('avored-ecommerce::module.module-list') }} +
+ + +
+
+
+ @if(count($modules) <= 0) +

Sorry No Modules Found

+ @else + @foreach($modules as $module) +
+
+ Card image cap + +
+
{{ $module->name() }}
+

{{ $module->description() }}

+ View +
+ +
+
+ @endforeach + + @endif + +
+ +@endsection + diff --git a/modules/avored/ecommerce/resources/views/module/show.blade.php b/modules/avored/ecommerce/resources/views/module/show.blade.php new file mode 100644 index 000000000..235cfbbb8 --- /dev/null +++ b/modules/avored/ecommerce/resources/views/module/show.blade.php @@ -0,0 +1,38 @@ +@extends('avored-ecommerce::layouts.app') + +@section('content') +
+ +
+
+ {{ __($module->name()) }} +
+ + +
+
+
+ +
+
+
+
{{ $module->name() }}
+

{{ $module->description() }}

+ + Migrate + + + Publish Files + +
+ +
+
+ + +
+ +@endsection + diff --git a/modules/avored/ecommerce/routes/web.php b/modules/avored/ecommerce/routes/web.php index 8a22f1fc0..fdf0aa381 100644 --- a/modules/avored/ecommerce/routes/web.php +++ b/modules/avored/ecommerce/routes/web.php @@ -66,6 +66,11 @@ Route::get('configuration', 'ConfigurationController@index')->name('configuration'); Route::post('configuration', 'ConfigurationController@store')->name('configuration.store'); + /** -------- Modules ROUTES -------- **/ + Route::get('module', 'ModuleController@index')->name('module.index'); + Route::get('module/create', 'ModuleController@create')->name('module.create'); + Route::get('module/{module}', 'ModuleController@show')->name('module.show'); + Route::get('themes', 'ThemeController@index')->name('theme.index'); Route::get('themes/create', 'ThemeController@create')->name('theme.create'); Route::post('themes', 'ThemeController@store')->name('theme.store'); @@ -74,7 +79,7 @@ Route::delete('themes/{name}', 'ThemeController@destroy')->name('theme.destroy'); //Route::resource('order-status', 'OrderStatusController'); - + Route::get('order', 'OrderController@index')->name('order.index'); Route::post('get-property-element', 'PropertyController@getElementHtml')->name('property.element'); diff --git a/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php b/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php new file mode 100644 index 000000000..0f6044c03 --- /dev/null +++ b/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php @@ -0,0 +1,34 @@ +with('modules', $modules); + } + + /** + * Display a listing of the modules. + * + * @return \Illuminate\Http\Response + */ + public function show($identifier) + { + $module = Module::get($identifier); + + return view('avored-ecommerce::module.show') + ->with('module', $module); + } +} diff --git a/modules/avored/ecommerce/src/Provider.php b/modules/avored/ecommerce/src/Provider.php index f56bb7c14..ea6f737bb 100644 --- a/modules/avored/ecommerce/src/Provider.php +++ b/modules/avored/ecommerce/src/Provider.php @@ -171,7 +171,7 @@ public function registerPassportResources() */ protected function registerAdminMenu() { - AdminMenuFacade::add('shop', function(AdminMenu $shopMenu) { + AdminMenuFacade::add('shop', function (AdminMenu $shopMenu) { $shopMenu->label('Shop') ->route('#') ->icon('fas fa-cart-plus'); @@ -214,10 +214,10 @@ protected function registerAdminMenu() ->icon('fas fa-dollar-sign'); $shopMenu->subMenu('order', $orderMenu); - AdminMenuFacade::add('cms',function(AdminMenu $cmsMenu) { + AdminMenuFacade::add('cms', function (AdminMenu $cmsMenu) { $cmsMenu->label('CMS') ->route('#') - ->icon('fas fa-building'); + ->icon('fas fa-building'); }); $cmsMenu = AdminMenuFacade::get('cms'); @@ -235,12 +235,12 @@ protected function registerAdminMenu() ->icon('fas fa-leaf'); $cmsMenu->subMenu('menu', $frontMenu); - AdminMenuFacade::add('system', function(AdminMenu $systemMenu) { + AdminMenuFacade::add('system', function (AdminMenu $systemMenu) { $systemMenu->label('System') ->route('#') ->icon('fas fa-cogs'); }); - + $systemMenu = AdminMenuFacade::get('system'); $configurationMenu = new AdminMenu(); @@ -277,6 +277,16 @@ protected function registerAdminMenu() ->route('admin.theme.index') ->icon('fas fa-adjust'); $systemMenu->subMenu('themes', $themeMenu); + + //$moduleMenu = new AdminMenu(); + + $systemMenu->subMenu('module', function (AdminMenu $moduleMenu) { + //dd($moduleMenu); + $moduleMenu->key('module') + ->label('Module') + ->route('admin.module.index') + ->icon('fas fa-adjust'); + }); } /** From e820995fa87cb0a52369ba1071a4928100f6fbfc Mon Sep 17 00:00:00 2001 From: Purvesh Date: Sat, 7 Jul 2018 09:56:20 +1200 Subject: [PATCH 2/3] few updates for custom module --- .../resources/views/module/index.blade.php | 10 ++++- .../resources/views/module/show.blade.php | 38 ------------------- .../src/Http/Controllers/ModuleController.php | 13 ------- 3 files changed, 9 insertions(+), 52 deletions(-) delete mode 100644 modules/avored/ecommerce/resources/views/module/show.blade.php diff --git a/modules/avored/ecommerce/resources/views/module/index.blade.php b/modules/avored/ecommerce/resources/views/module/index.blade.php index e523b42a1..e00465973 100644 --- a/modules/avored/ecommerce/resources/views/module/index.blade.php +++ b/modules/avored/ecommerce/resources/views/module/index.blade.php @@ -28,7 +28,15 @@ class="btn btn-primary">
{{ $module->name() }}

{{ $module->description() }}

- View +
diff --git a/modules/avored/ecommerce/resources/views/module/show.blade.php b/modules/avored/ecommerce/resources/views/module/show.blade.php deleted file mode 100644 index 235cfbbb8..000000000 --- a/modules/avored/ecommerce/resources/views/module/show.blade.php +++ /dev/null @@ -1,38 +0,0 @@ -@extends('avored-ecommerce::layouts.app') - -@section('content') -
- -
-
- {{ __($module->name()) }} -
- - -
-
-
- -
-
-
-
{{ $module->name() }}
-

{{ $module->description() }}

- - Migrate - - - Publish Files - -
- -
-
- - -
- -@endsection - diff --git a/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php b/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php index 0f6044c03..5b29425f0 100644 --- a/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php +++ b/modules/avored/ecommerce/src/Http/Controllers/ModuleController.php @@ -18,17 +18,4 @@ public function index() return view('avored-ecommerce::module.index') ->with('modules', $modules); } - - /** - * Display a listing of the modules. - * - * @return \Illuminate\Http\Response - */ - public function show($identifier) - { - $module = Module::get($identifier); - - return view('avored-ecommerce::module.show') - ->with('module', $module); - } } From e53b4702d81fb7ffbae176f1d7dcc5d81ce0ee0b Mon Sep 17 00:00:00 2001 From: Purvesh Date: Sat, 7 Jul 2018 14:09:31 +1200 Subject: [PATCH 3/3] fixed the stripe payment bug --- app/Http/Controllers/OrderController.php | 1 + app/Http/Requests/PlaceOrderRequest.php | 32 +++++++++---------- .../views/payment/stripe/index.blade.php | 13 ++++++-- .../ecommerce/src/Payment/Stripe/Payment.php | 23 +++++++++---- .../checkout/cards/payment-options.blade.php | 15 ++++++--- .../default/views/checkout/index.blade.php | 16 +++++++--- 6 files changed, 67 insertions(+), 33 deletions(-) diff --git a/app/Http/Controllers/OrderController.php b/app/Http/Controllers/OrderController.php index d5446a239..964063d9a 100644 --- a/app/Http/Controllers/OrderController.php +++ b/app/Http/Controllers/OrderController.php @@ -39,6 +39,7 @@ public function __construct(ConfigurationInterface $rep) public function place(PlaceOrderRequest $request) { $orderProductData = Cart::all(); + $user = $this->_getUser($request); $billingAddress = $this->_getBillingAddress($request); $shippingAddress = $this->_getShippingAddress($request); diff --git a/app/Http/Requests/PlaceOrderRequest.php b/app/Http/Requests/PlaceOrderRequest.php index 341520f75..4679cbc76 100644 --- a/app/Http/Requests/PlaceOrderRequest.php +++ b/app/Http/Requests/PlaceOrderRequest.php @@ -1,4 +1,5 @@ request->all()); if (!Auth::check()) { //$validation['user.email'] = 'required|email|max:255|unique:users'; @@ -37,25 +37,24 @@ public function rules() //$validation['user.password'] = 'required|min:6|confirmed'; } - $billingData = $this->request->get('billing'); - if (isset($billingData) && null === array_get($billingData,'id')) { - $validation['billing.address1'] = 'required|max:255'; - $validation['billing.address2'] = 'max:255'; - $validation['billing.country_id'] = 'required|max:255'; - $validation['billing.state'] = 'required|max:255'; - $validation['billing.city'] = 'required|max:255'; - $validation['billing.postcode'] = 'required|max:255'; + if (isset($billingData) && null === array_get($billingData, 'id')) { + $validation['billing.address1'] = 'required|max:255'; + $validation['billing.address2'] = 'max:255'; + $validation['billing.country_id'] = 'required|max:255'; + $validation['billing.state'] = 'required|max:255'; + $validation['billing.city'] = 'required|max:255'; + $validation['billing.postcode'] = 'required|max:255'; } if (null !== $this->request->get('use_different_shipping_address')) { - $validation['shipping.address1'] = 'required|max:255'; - $validation['shipping.address2'] = 'max:255'; - $validation['shipping.country_id'] = 'required|max:255'; - $validation['shipping.state'] = 'required|max:255'; - $validation['shipping.city'] = 'required|max:255'; - $validation['shipping.postcode'] = 'required|max:255'; + $validation['shipping.address1'] = 'required|max:255'; + $validation['shipping.address2'] = 'max:255'; + $validation['shipping.country_id'] = 'required|max:255'; + $validation['shipping.state'] = 'required|max:255'; + $validation['shipping.city'] = 'required|max:255'; + $validation['shipping.postcode'] = 'required|max:255'; } $validation['shipping_option'] = 'required'; @@ -63,6 +62,5 @@ public function rules() $validation['agree'] = 'required'; return $validation; - } } diff --git a/modules/avored/ecommerce/resources/views/payment/stripe/index.blade.php b/modules/avored/ecommerce/resources/views/payment/stripe/index.blade.php index 0af298a7f..cee0d7ab2 100644 --- a/modules/avored/ecommerce/resources/views/payment/stripe/index.blade.php +++ b/modules/avored/ecommerce/resources/views/payment/stripe/index.blade.php @@ -74,7 +74,7 @@ card.mount('#card-element'); - jQuery('.avored-payment-option').change(function (e) { + jQuery('#stripe').bind('paymentOptionChange', function (e) { if (jQuery(this).prop('id') != "stripe") { @@ -90,7 +90,7 @@ }); jQuery('#stripe').bind('paymentProcessStart', function (e) { - + stripe.createToken(card).then(function (result) { if (result.error) { // Inform the customer that there was an error. @@ -103,6 +103,7 @@ // Send the token to your server. stripeTokenHandler(result.token); jQuery("#place-order-button").trigger('paymentProcessEnd'); + } @@ -113,11 +114,19 @@ function stripeTokenHandler(token) { // Insert the token ID into the form so it gets submitted to the server var formWrapper = document.getElementById('stripe-card-form-wrapper'); + var hiddenInput = document.createElement('input'); hiddenInput.setAttribute('type', 'hidden'); hiddenInput.setAttribute('name', 'stripeToken'); hiddenInput.setAttribute('value', token.id); formWrapper.appendChild(hiddenInput); + + var hiddenInput = document.createElement('input'); + hiddenInput.setAttribute('type', 'hidden'); + hiddenInput.setAttribute('name', 'payment_option'); + hiddenInput.setAttribute('value', 'stripe'); + formWrapper.appendChild(hiddenInput); + } diff --git a/modules/avored/ecommerce/src/Payment/Stripe/Payment.php b/modules/avored/ecommerce/src/Payment/Stripe/Payment.php index 5e461e507..281884695 100644 --- a/modules/avored/ecommerce/src/Payment/Stripe/Payment.php +++ b/modules/avored/ecommerce/src/Payment/Stripe/Payment.php @@ -7,14 +7,15 @@ use AvoRed\Framework\Models\Database\Configuration; use AvoRed\Framework\Payment\Payment as PaymentEcommerce; use AvoRed\Framework\Payment\Contracts\Payment as PaymentContracts; +use AvoRed\Ecommerce\Models\Database\User; class Payment extends PaymentEcommerce implements PaymentContracts { - const CONFIG_KEY = 'payment_stripe_enabled'; + const CONFIG_KEY = 'payment_stripe_enabled'; - const CONFIG_PUBLISHABLE_KEY = 'payment_stripe_publishable_key'; + const CONFIG_PUBLISHABLE_KEY = 'payment_stripe_publishable_key'; - const CONFIG_SECRET_KEY = 'payment_stripe_secret_key'; + const CONFIG_SECRET_KEY = 'avored_stripe_secret_key'; /** * Payment Option Identifier. * @@ -80,8 +81,8 @@ public function process($orderData, $cartProducts, $request) $taxTotal = 0; foreach ($cartProducts as $product) { - $subTotal += $product['price'] * $product['qty']; - $taxTotal += $product['tax_amount'] * $product['qty']; + $subTotal += $product->price() * $product->qty(); + $taxTotal += $product->tax() * $product->qty(); } $total = (round($subTotal, 2) + round($taxTotal, 2)) * 100; @@ -90,12 +91,22 @@ public function process($orderData, $cartProducts, $request) $apiKey = Configuration::getConfiguration(self::CONFIG_SECRET_KEY); Stripe::setApiKey($apiKey); + //dd($orderData); + //$user = User::find($orderData['user_id']); + //$customer = \Stripe\Customer::create([ + // 'email' => $user->email, + // 'description' => 'Customer for One of Charge ' . $user->id, + // 'source' => $request->get('stripeToken') + // ]); + + //dd($request->all()); + //dd($request->get('stripeToken')); $response = Charge::create([ 'amount' => $totalCents, 'currency' => 'nzd', 'source' => $request->get('stripeToken'), // obtained with Stripe.js - 'description' => 'AvoRed E commerce', + 'description' => 'AvoRed E commerce Payment', ]); return $response; diff --git a/themes/avored/default/views/checkout/cards/payment-options.blade.php b/themes/avored/default/views/checkout/cards/payment-options.blade.php index 33b2be0ea..4e1bb9baa 100644 --- a/themes/avored/default/views/checkout/cards/payment-options.blade.php +++ b/themes/avored/default/views/checkout/cards/payment-options.blade.php @@ -12,10 +12,17 @@
- + has('payment_option')) + class="is-invalid avored-payment-option form-check-input" + @else + class="avored-payment-option form-check-input" + @endif + + />