Skip to content

Commit

Permalink
Merge pull request #1 from abdelmjid-saber/master
Browse files Browse the repository at this point in the history
Enable/Disable Coupons Feature
  • Loading branch information
3x1io authored Feb 4, 2024
2 parents 7b907ec + fe5f6d3 commit 046ef88
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 39 deletions.
6 changes: 5 additions & 1 deletion config/tomato-coupons.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?php

return [
//You config go here...
"features" => [
"coupons" => true,
"gift_cards" => true,
"referral_codes" => true,
],
];
66 changes: 36 additions & 30 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,35 +13,41 @@
|
*/

Route::middleware(['web','auth', 'splade', 'verified'])->name('admin.')->group(function () {
Route::get('admin/coupons', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'index'])->name('coupons.index');
Route::get('admin/coupons/api', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'api'])->name('coupons.api');
Route::get('admin/coupons/create', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'create'])->name('coupons.create');
Route::post('admin/coupons', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'store'])->name('coupons.store');
Route::get('admin/coupons/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'show'])->name('coupons.show');
Route::get('admin/coupons/{model}/edit', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'edit'])->name('coupons.edit');
Route::post('admin/coupons/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'update'])->name('coupons.update');
Route::delete('admin/coupons/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'destroy'])->name('coupons.destroy');
});
if (config("tomato-coupons.features.coupons")) {
Route::middleware(['web', 'auth', 'splade', 'verified'])->name('admin.')->group(function () {
Route::get('admin/coupons', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'index'])->name('coupons.index');
Route::get('admin/coupons/api', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'api'])->name('coupons.api');
Route::get('admin/coupons/create', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'create'])->name('coupons.create');
Route::post('admin/coupons', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'store'])->name('coupons.store');
Route::get('admin/coupons/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'show'])->name('coupons.show');
Route::get('admin/coupons/{model}/edit', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'edit'])->name('coupons.edit');
Route::post('admin/coupons/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'update'])->name('coupons.update');
Route::delete('admin/coupons/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\CouponController::class, 'destroy'])->name('coupons.destroy');
});
}

Route::middleware(['web','auth', 'splade', 'verified'])->name('admin.')->group(function () {
Route::get('admin/referral-codes', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'index'])->name('referral-codes.index');
Route::get('admin/referral-codes/api', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'api'])->name('referral-codes.api');
Route::get('admin/referral-codes/create', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'create'])->name('referral-codes.create');
Route::post('admin/referral-codes', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'store'])->name('referral-codes.store');
Route::get('admin/referral-codes/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'show'])->name('referral-codes.show');
Route::get('admin/referral-codes/{model}/edit', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'edit'])->name('referral-codes.edit');
Route::post('admin/referral-codes/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'update'])->name('referral-codes.update');
Route::delete('admin/referral-codes/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'destroy'])->name('referral-codes.destroy');
});
if (config("tomato-coupons.features.referral_codes")) {
Route::middleware(['web', 'auth', 'splade', 'verified'])->name('admin.')->group(function () {
Route::get('admin/referral-codes', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'index'])->name('referral-codes.index');
Route::get('admin/referral-codes/api', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'api'])->name('referral-codes.api');
Route::get('admin/referral-codes/create', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'create'])->name('referral-codes.create');
Route::post('admin/referral-codes', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'store'])->name('referral-codes.store');
Route::get('admin/referral-codes/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'show'])->name('referral-codes.show');
Route::get('admin/referral-codes/{model}/edit', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'edit'])->name('referral-codes.edit');
Route::post('admin/referral-codes/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'update'])->name('referral-codes.update');
Route::delete('admin/referral-codes/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\ReferralCodeController::class, 'destroy'])->name('referral-codes.destroy');
});
}

Route::middleware(['web','auth', 'splade', 'verified'])->name('admin.')->group(function () {
Route::get('admin/gift-cards', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'index'])->name('gift-cards.index');
Route::get('admin/gift-cards/api', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'api'])->name('gift-cards.api');
Route::get('admin/gift-cards/create', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'create'])->name('gift-cards.create');
Route::post('admin/gift-cards', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'store'])->name('gift-cards.store');
Route::get('admin/gift-cards/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'show'])->name('gift-cards.show');
Route::get('admin/gift-cards/{model}/edit', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'edit'])->name('gift-cards.edit');
Route::post('admin/gift-cards/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'update'])->name('gift-cards.update');
Route::delete('admin/gift-cards/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'destroy'])->name('gift-cards.destroy');
});
if (config("tomato-coupons.features.gift_cards")) {
Route::middleware(['web', 'auth', 'splade', 'verified'])->name('admin.')->group(function () {
Route::get('admin/gift-cards', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'index'])->name('gift-cards.index');
Route::get('admin/gift-cards/api', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'api'])->name('gift-cards.api');
Route::get('admin/gift-cards/create', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'create'])->name('gift-cards.create');
Route::post('admin/gift-cards', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'store'])->name('gift-cards.store');
Route::get('admin/gift-cards/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'show'])->name('gift-cards.show');
Route::get('admin/gift-cards/{model}/edit', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'edit'])->name('gift-cards.edit');
Route::post('admin/gift-cards/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'update'])->name('gift-cards.update');
Route::delete('admin/gift-cards/{model}', [\TomatoPHP\TomatoCoupons\Http\Controllers\GiftCardController::class, 'destroy'])->name('gift-cards.destroy');
});
}
26 changes: 18 additions & 8 deletions src/TomatoCouponsServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,32 @@ public function register(): void

public function boot(): void
{
TomatoMenu::register([
Menu::make()
$menus = [];

if (config("tomato-coupons.features.coupons")) {
$menus[] = Menu::make()
->group(__('Offers'))
->label(__('Coupons'))
->icon('bx bxs-discount')
->route('admin.coupons.index'),
Menu::make()
->route('admin.coupons.index');
}

if (config("tomato-coupons.features.gift_cards")) {
$menus[] = Menu::make()
->group(__('Offers'))
->label(__('Gift Cards'))
->icon('bx bx-gift')
->route('admin.gift-cards.index'),
Menu::make()
->route('admin.gift-cards.index');
}

if (config("tomato-coupons.features.referral_codes")) {
$menus[] = Menu::make()
->group(__('Offers'))
->label(__('Referral Codes'))
->icon('bx bx-link')
->route('admin.referral-codes.index')
]);
->route('admin.referral-codes.index');
}

TomatoMenu::register($menus);
}
}

0 comments on commit 046ef88

Please sign in to comment.