Comments (2)
We have to always think that there is user side, but also there can be admin side to the app, so I need to be careful of not closing and restricting too much the package.
So one can do because knows plan 2 exists and is active:
$plan = Plan::find(2);
$user->newSubscription('main', $plan);
But also manage the same endpoint for both admin and user perspective, so Super Admin can assign plan to users but users only to themselves.
$isSuperAdmin = auth()->user()->hasRole('Super Admin');
$user = ($isSuperAdmin) ? User::findOrFail($request->user_id) : auth()->user();
$plan = ($isSuperAdmin) ? Plan::findOrFail($request->plan_id) : Plan::where('id', $request->plan_id)->where('is_active', true)->firstOrFail();
$user->newSubscription('main', $plan);
If an error is thrown when calling newSubscription
because plan is not active it can be a pain to create the subscription from an admin perspective, because maybe there are "secret plans" that you do not want to be active to the public but able to the admin to attach a subscription.
from laravel-subby.
Totally understood, the library should not limit subscribing to not active plans.
from laravel-subby.
Related Issues (20)
- I can not install on Laravel 9 ! HOT 3
- Documentation HOT 2
- Default database migration isn't compatible with MySQL HOT 6
- changePlan -> deleteFeaturesNotInPlan Bug HOT 1
- Free plan HOT 2
- Foreign key constraint is incorrectly formed HOT 1
- getSubscriptionRemainingUsagePriceProrate for year invoice interval HOT 2
- If user has more than one subscription, does not return total value of both subscription's feature HOT 2
- Call to a member function getKey() on array error HOT 5
- Per-Seat Billing Plans feature HOT 2
- Trait method newSubscription collision with Laravel Cashier HOT 2
- Method addMounths does not exist ---> newSubscription() HOT 1
- Bpuig \ Subby \ Exceptions\ DuplicateException HOT 2
- App\Models\User::activeSubscriptions must return a relationship instance. HOT 3
- Trial interval doesn't work when we use PlanCombination instead Plan
- SubscriptionPaymentQueuerJob now doesn't work
- Subscription feature price HOT 3
- Doubts starting using this HOT 4
- Missing PlanSubscriptionScheduleService Contract
- Change plan or/and renew plan period HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-subby.