Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 

Subscriptions

This will add Subscription Plans to your laravel project. Create the plan and his features for the user to register to. You can add many features and update the feature's order.

Installation

Update your project's composer.json file.

composer require bpocallaghan/subscriptions

Usage

Register the routes in the routes/vendor.php file.

  • Website
Route::resource('pricing', 'Subscriptions\Controllers\Website\SubscriptionsController');
  • Admin
Route::group(['prefix' => 'settings', 'namespace' => 'Subscriptions\Controllers\Admin'],
	function () {
		Route::resource('subscription-plans/features', 'FeaturesController');
		Route::resource('subscription-plans', 'SubscriptionPlansController');
		Route::get('subscription-plans/{subscription_plan}/features/order',
			'SubscriptionPlansController@showFeaturesOrder');
		Route::post('subscription-plans/{subscription_plan}/features/order',
			'SubscriptionPlansController@updateFeaturesOrder');
	});

Commands

php artisan subscriptions:publish

This will copy the database/seeds and database/migrations to your application. Remember to add $this->call(SubscriptionPlanFeaturesSeeder::class); $this->call(SubscriptionPlanTableSeeder::class); in the DatabaseSeeder.php

php artisan subscriptions:publish --files=all

This will copy the models, views and controllers to their respective directories. Please note when you execute the above command. You need to update your routes.

  • Website
Route::get('/pricing', 'SubscriptionsController@index');
  • Admin
Route::group(['namespace' => 'Subscriptions'], function () {
	Route::resource('subscription-plans/features', 'FeaturesController');
	Route::resource('subscription-plans', 'SubscriptionPlansController');
	Route::get('subscription-plans/{subscription_plan}/features/order',
		'SubscriptionPlansController@showFeaturesOrder');
	Route::post('subscription-plans/{subscription_plan}/features/order',
		'SubscriptionPlansController@updateFeaturesOrder');
});

Demo

Package is being used at Laravel Admin Starter project.

TODO

  • add the navigation seeder information (to create the navigation/urls)