From f5059364c2b3286288c68ff2f425cc439405fa08 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Thu, 4 Jul 2019 13:42:05 +0530 Subject: [PATCH] Changes made to stripe connect, all the dependencies hard coded for connect in SAAS module had been successfully migrated --- .../SAASCustomizerServiceProvider.php | 5 - .../src/Models/StripeConnect.php | 20 +++- .../src/Observers/StripeConnectObserver.php | 17 ++++ .../src/Providers/ModuleServiceProvider.php | 3 +- .../StripeConnectServiceProvider.php | 6 ++ .../views/checkout/total/summary.blade.php | 98 +++++++++++++++++++ 6 files changed, 142 insertions(+), 7 deletions(-) create mode 100644 packages/Webkul/StripeConnect/src/Observers/StripeConnectObserver.php create mode 100644 packages/Webkul/StripeConnect/src/Resources/views/checkout/total/summary.blade.php diff --git a/packages/Webkul/SAASCustomizer/src/Providers/SAASCustomizerServiceProvider.php b/packages/Webkul/SAASCustomizer/src/Providers/SAASCustomizerServiceProvider.php index 083e76f71..6221edc25 100644 --- a/packages/Webkul/SAASCustomizer/src/Providers/SAASCustomizerServiceProvider.php +++ b/packages/Webkul/SAASCustomizer/src/Providers/SAASCustomizerServiceProvider.php @@ -224,9 +224,6 @@ class SAASCustomizerServiceProvider extends ServiceProvider $this->app->concord->registerModel(\Webkul\User\Contracts\Admin::class, \Webkul\SAASCustomizer\Models\User\Admin::class); $this->app->concord->registerModel(\Webkul\User\Contracts\Role::class, \Webkul\SAASCustomizer\Models\User\Role::class); - //Stripe Connect Model - $this->app->concord->registerModel(\Webkul\StripeConnect\Contracts\StripeConnect::class, \Webkul\SAASCustomizer\Models\StripeConnect\StripeConnect::class); - //Discount Model $this->app->concord->registerModel(\Webkul\Discount\Contracts\CartRule::class, \Webkul\SAASCustomizer\Models\Discount\CartRule::class); } @@ -324,8 +321,6 @@ class SAASCustomizerServiceProvider extends ServiceProvider \Webkul\SAASCustomizer\Models\User\Role::observe(\Webkul\SAASCustomizer\Observers\User\RoleObserver::class); - \Webkul\SAASCustomizer\Models\StripeConnect\StripeConnect::observe(\Webkul\SAASCustomizer\Observers\StripeConnect\StripeConnectObserver::class); - \Webkul\SAASCustomizer\Models\Discount\CartRule::observe(\Webkul\SAASCustomizer\Observers\Discount\CartRuleObserver::class); } } \ No newline at end of file diff --git a/packages/Webkul/StripeConnect/src/Models/StripeConnect.php b/packages/Webkul/StripeConnect/src/Models/StripeConnect.php index 6c6b555e3..de02d5fc6 100644 --- a/packages/Webkul/StripeConnect/src/Models/StripeConnect.php +++ b/packages/Webkul/StripeConnect/src/Models/StripeConnect.php @@ -4,12 +4,30 @@ namespace Webkul\StripeConnect\Models; use Illuminate\Database\Eloquent\Model; use Webkul\StripeConnect\Contracts\StripeConnect as StripeConnectContract; +use Company; class StripeConnect extends Model implements StripeConnectContract { protected $table = 'stripe_companies'; protected $fillable = [ - 'access_token', 'refresh_token', 'stripe_publishable_key', 'stripe_user_id' + 'access_token', 'refresh_token', 'stripe_publishable_key', 'stripe_user_id', 'company_id' ]; + + /** + * Create a new Eloquent query builder for the model. + * + * @param \Illuminate\Database\Query\Builder $query + * @return \Illuminate\Database\Eloquent\Builder|static + */ + public function newEloquentBuilder($query) + { + $company = Company::getCurrent(); + + if (auth()->guard('super-admin')->check() || ! isset($company->id)) { + return new \Illuminate\Database\Eloquent\Builder($query); + } else { + return new \Illuminate\Database\Eloquent\Builder($query->where('stripe_companies' . '.company_id', $company->id)); + } + } } \ No newline at end of file diff --git a/packages/Webkul/StripeConnect/src/Observers/StripeConnectObserver.php b/packages/Webkul/StripeConnect/src/Observers/StripeConnectObserver.php new file mode 100644 index 000000000..dc726531a --- /dev/null +++ b/packages/Webkul/StripeConnect/src/Observers/StripeConnectObserver.php @@ -0,0 +1,17 @@ +guard('super-admin')->check()) { + $model->company_id = Company::getCurrent()->id; + } + } +} \ No newline at end of file diff --git a/packages/Webkul/StripeConnect/src/Providers/ModuleServiceProvider.php b/packages/Webkul/StripeConnect/src/Providers/ModuleServiceProvider.php index 33d2ed065..a7edee222 100644 --- a/packages/Webkul/StripeConnect/src/Providers/ModuleServiceProvider.php +++ b/packages/Webkul/StripeConnect/src/Providers/ModuleServiceProvider.php @@ -7,6 +7,7 @@ use Konekt\Concord\BaseModuleServiceProvider; class ModuleServiceProvider extends BaseModuleServiceProvider { protected $models = [ - \Webkul\StripeConnect\Models\StripeCart::class + \Webkul\StripeConnect\Models\StripeCart::class, + \Webkul\StripeConnect\Models\StripeConnect::class, ]; } \ No newline at end of file diff --git a/packages/Webkul/StripeConnect/src/Providers/StripeConnectServiceProvider.php b/packages/Webkul/StripeConnect/src/Providers/StripeConnectServiceProvider.php index f9be7106b..3f582eb74 100644 --- a/packages/Webkul/StripeConnect/src/Providers/StripeConnectServiceProvider.php +++ b/packages/Webkul/StripeConnect/src/Providers/StripeConnectServiceProvider.php @@ -24,6 +24,12 @@ class StripeConnectServiceProvider extends ServiceProvider dirname(__DIR__) . '/Resources/assets/images/' => base_path('public/vendor/webkul/stripe/assets/images/') ]); + $this->publishes([ + dirname(__DIR__) . '/Resources/views/checkout/total' => resource_path('views/vendor/shop/checkout/total') + ]); + + \Webkul\StripeConnect\Models\StripeConnect::observe(\Webkul\StripeConnect\Observers\StripeConnectObserver::class); + $this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'stripe'); $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); $this->loadViewsFrom(__DIR__ . '/../Resources/views', 'stripe'); diff --git a/packages/Webkul/StripeConnect/src/Resources/views/checkout/total/summary.blade.php b/packages/Webkul/StripeConnect/src/Resources/views/checkout/total/summary.blade.php new file mode 100644 index 000000000..b10bc9986 --- /dev/null +++ b/packages/Webkul/StripeConnect/src/Resources/views/checkout/total/summary.blade.php @@ -0,0 +1,98 @@ +
+

{{ __('shop::app.checkout.total.order-summary') }}

+ +
+ + +
+ + @if ($cart->selected_shipping_rate) +
+ + +
+ @endif + + @if ($cart->base_tax_total) +
+ + +
+ @endif + + +
discount_amount && $cart->discount_amount > 0) style="display: block;" @else style="display: none;" @endif> + + +
+ + @if(core()->getConfigData('stripe.connect.details.stripefees') == 'customer' && isset($cart->payment) && $cart->payment->method == 'stripe') +
+ @php + $applicationFee = $cart->base_grand_total; + $applicationFee = (0.029 * $applicationFee) + (0.02 * $applicationFee) + 0.3; + @endphp + + + + +
+ @endif + + +
+ + +
+ +
is('checkout/cart')) v-if="parseInt(discount)" @endif> + @if (! request()->is('checkout/cart')) + @if (! $cart->coupon_code) +
+
+
+
+ +
+ +
* @{{ error_message }}
+ + +
+
+
+ @else +
+
+ + + +
+
+ @endif + @endif +
+
\ No newline at end of file