Файловый менеджер - Редактировать - /home/c7lekhnath/silverray.com.au/Modules/Language/database/seeders/68334/Customer.tar
Назад
lang/.gitkeep 0000644 00000000000 15012230607 0007100 0 ustar 00 module.json 0000644 00000000342 15012230607 0006717 0 ustar 00 { "name": "Customer", "alias": "customer", "description": "", "keywords": [], "priority": 0, "providers": [ "Modules\\Customer\\app\\Providers\\CustomerServiceProvider" ], "files": [] } tests/Unit/.gitkeep 0000644 00000000000 15012230607 0010240 0 ustar 00 tests/Feature/.gitkeep 0000644 00000000000 15012230607 0010714 0 ustar 00 vite.config.js 0000644 00000001306 15012230607 0007311 0 ustar 00 import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ build: { outDir: '../../public/build-customer', emptyOutDir: true, manifest: true, }, plugins: [ laravel({ publicDirectory: '../../public', buildDirectory: 'build-customer', input: [ __dirname + '/resources/assets/sass/app.scss', __dirname + '/resources/assets/js/app.js' ], refresh: true, }), ], }); //export const paths = [ // 'Modules/$STUDLY_NAME$/resources/assets/sass/app.scss', // 'Modules/$STUDLY_NAME$/resources/assets/js/app.js', //]; wsus.json 0000644 00000000623 15012230607 0006435 0 ustar 00 { "name": "Customer Addon", "is_default": true, "description": "This is Customer Addon", "author": { "name": "Websolutionsus", "email": "websolutionus1@gmail.com", "website": "https://websolutionus.com" }, "license": "Proprietary", "url": "", "options" : { "route" : "home" }, "last_update": "2024-03-31", "version": "1.0.0" } routes/.gitkeep 0000644 00000000000 15012230607 0007500 0 ustar 00 routes/error_log 0000644 00000001106 15012230607 0007774 0 ustar 00 [06-May-2025 23:24:48 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Facades\Route" not found in /home/lekhnath/silverray.com.au/Modules/Customer/routes/api.php:5 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Customer/routes/api.php on line 5 [07-May-2025 07:06:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Facades\Route" not found in /home/lekhnath/silverray.com.au/Modules/Customer/routes/web.php:17 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Customer/routes/web.php on line 17 routes/web.php 0000644 00000003713 15012230607 0007353 0 ustar 00 <?php use Illuminate\Support\Facades\Route; use Modules\Customer\app\Http\Controllers\CustomerController; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::group(['as' => 'admin.', 'prefix' => 'admin', 'middleware' => ['auth:admin', 'translation']], function () { Route::controller(CustomerController::class)->group(function () { Route::get('all-customers', 'index')->name('all-customers'); Route::get('active-customers', 'active_customer')->name('active-customers'); Route::get('non-verified-customers', 'non_verified_customers')->name('non-verified-customers'); Route::get('banned-customers', 'banned_customers')->name('banned-customers'); Route::get('customer-show/{id}', 'show')->name('customer-show'); Route::put('customer-info-update/{id}', 'update')->name('customer-info-update'); Route::put('customer-password-change/{id}', 'password_change')->name('customer-password-change'); Route::post('send-banned-request/{id}', 'send_banned_request')->name('send-banned-request'); Route::post('send-verify-request/{id}', 'send_verify_request')->name('send-verify-request'); Route::post('send-verify-request-to-all', 'send_verify_request_to_all')->name('send-verify-request-to-all'); Route::post('send-mail-to-customer/{id}', 'send_mail_to_customer')->name('send-mail-to-customer'); Route::get('send-bulk-mail', 'send_bulk_mail')->name('send-bulk-mail'); Route::post('send-bulk-mail-to-all', 'send_bulk_mail_to_all')->name('send-bulk-mail-to-all'); Route::delete('customer-delete/{id}', 'destroy')->name('customer-delete'); }); }); routes/api.php 0000644 00000000214 15012230607 0007340 0 ustar 00 <?php use Illuminate\Support\Facades\Route; Route::middleware(['auth:sanctum'])->prefix('v1')->name('api.')->group(function () { }); composer.json 0000644 00000001303 15012230607 0007257 0 ustar 00 { "name": "nwidart/customer", "description": "", "authors": [ { "name": "Nicolas Widart", "email": "n.widart@gmail.com" } ], "extra": { "laravel": { "providers": [], "aliases": { } } }, "autoload": { "psr-4": { "Modules\\Customer\\": "", "Modules\\Customer\\App\\": "app/", "Modules\\Customer\\Database\\Factories\\": "database/factories/", "Modules\\Customer\\Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Modules\\Customer\\Tests\\": "tests/" } } } config/config.php 0000644 00000000055 15012230607 0007763 0 ustar 00 <?php return [ 'name' => 'Customer', ]; config/.gitkeep 0000644 00000000000 15012230607 0007424 0 ustar 00 package.json 0000644 00000000410 15012230607 0007021 0 ustar 00 { "private": true, "type": "module", "scripts": { "dev": "vite", "build": "vite build" }, "devDependencies": { "axios": "^1.1.2", "laravel-vite-plugin": "^0.7.5", "sass": "^1.69.5", "postcss": "^8.3.7", "vite": "^4.0.0" } } app/Http/Controllers/.gitkeep 0000644 00000000000 15012230607 0012164 0 ustar 00 app/Http/Controllers/CustomerController.php 0000644 00000037142 15012230607 0015132 0 ustar 00 <?php namespace Modules\Customer\app\Http\Controllers; use App\Models\User; use App\Models\WishList; use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Traits\GlobalMailTrait; use App\Services\MailSenderService; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Hash; use App\Traits\GetGlobalInformationTrait; use Modules\Property\app\Models\Property; use Modules\Customer\app\Models\BannedHistory; use Modules\Property\app\Models\PropertyImage; use Modules\Property\app\Models\PropertyReview; use Modules\Property\app\Models\PropertyAminity; use Modules\Property\app\Models\PropertyNearestLocation; use Modules\Subscription\app\Models\SubscriptionHistory; class CustomerController extends Controller { use GetGlobalInformationTrait, GlobalMailTrait; public function index(Request $request) { checkAdminHasPermissionAndThrowException('customer.view'); $query = User::query(); $query->when($request->filled('keyword'), function ($q) use ($request) { $q->where('name', 'like', '%' . $request->keyword . '%') ->orWhere('email', 'like', '%' . $request->keyword . '%') ->orWhere('phone', 'like', '%' . $request->keyword . '%') ->orWhere('address', 'like', '%' . $request->keyword . '%'); }); $query->when($request->filled('verified'), function ($q) use ($request) { $q->where(function ($query) use ($request) { if ($request->verified == 1) { $query->whereNotNull('email_verified_at'); } elseif ($request->verified == 0) { $query->whereNull('email_verified_at'); } }); }); $query->when($request->filled('banned'), function ($q) use ($request) { $q->where(function ($query) use ($request) { if ($request->banned == 1) { $query->where('is_banned', 'yes'); } elseif ($request->banned == 0) { $query->where('is_banned', 'no'); } }); }); $orderBy = $request->filled('order_by') && $request->order_by == 1 ? 'asc' : 'desc'; if ($request->filled('par-page')) { $users = $request->get('par-page') == 'all' ? $query->orderBy('id', $orderBy)->get() : $query->orderBy('id', $orderBy)->paginate($request->get('par-page'))->withQueryString(); } else { $users = $query->orderBy('id', $orderBy)->paginate()->withQueryString(); } return view('customer::all_customer')->with([ 'users' => $users, ]); } public function active_customer(Request $request) { checkAdminHasPermissionAndThrowException('customer.view'); $query = User::query(); $query->where(['status' => 'active', 'is_banned' => 'no'])->where('email_verified_at', '!=', null); $query->when($request->filled('keyword'), function ($q) use ($request) { $q->where('name', 'like', '%' . $request->keyword . '%') ->orWhere('email', 'like', '%' . $request->keyword . '%') ->orWhere('phone', 'like', '%' . $request->keyword . '%') ->orWhere('address', 'like', '%' . $request->keyword . '%'); }); $orderBy = $request->filled('order_by') && $request->order_by == 1 ? 'asc' : 'desc'; if ($request->filled('par-page')) { $users = $request->get('par-page') == 'all' ? $query->orderBy('id', $orderBy)->get() : $query->orderBy('id', $orderBy)->paginate($request->get('par-page'))->withQueryString(); } else { $users = $query->orderBy('id', $orderBy)->paginate()->withQueryString(); } return view('customer::active_customer')->with([ 'users' => $users, ]); } public function non_verified_customers(Request $request) { checkAdminHasPermissionAndThrowException('customer.view'); $query = User::query(); $query->where('email_verified_at', null); $query->when($request->filled('keyword'), function ($q) use ($request) { $q->where('name', 'like', '%' . $request->keyword . '%') ->orWhere('email', 'like', '%' . $request->keyword . '%') ->orWhere('phone', 'like', '%' . $request->keyword . '%') ->orWhere('address', 'like', '%' . $request->keyword . '%'); }); $query->when($request->filled('banned'), function ($q) use ($request) { $q->where(function ($query) use ($request) { if ($request->banned == 1) { $query->where('is_banned', 'yes'); } elseif ($request->banned == 0) { $query->where('is_banned', 'no'); } }); }); $orderBy = $request->filled('order_by') && $request->order_by == 1 ? 'asc' : 'desc'; if ($request->filled('par-page')) { $users = $request->get('par-page') == 'all' ? $query->orderBy('id', $orderBy)->get() : $query->orderBy('id', $orderBy)->paginate($request->get('par-page'))->withQueryString(); } else { $users = $query->orderBy('id', $orderBy)->paginate()->withQueryString(); } return view('customer::non_verified_customer')->with([ 'users' => $users, ]); } public function banned_customers(Request $request) { checkAdminHasPermissionAndThrowException('customer.view'); $query = User::query(); $query->where('is_banned', 'yes'); $query->when($request->filled('keyword'), function ($q) use ($request) { $q->where('name', 'like', '%' . $request->keyword . '%') ->orWhere('email', 'like', '%' . $request->keyword . '%') ->orWhere('phone', 'like', '%' . $request->keyword . '%') ->orWhere('address', 'like', '%' . $request->keyword . '%'); }); $query->when($request->filled('verified'), function ($q) use ($request) { $q->where(function ($query) use ($request) { if ($request->verified == 1) { $query->whereNotNull('email_verified_at'); } elseif ($request->verified == 0) { $query->whereNull('email_verified_at'); } }); }); $orderBy = $request->filled('order_by') && $request->order_by == 1 ? 'asc' : 'desc'; if ($request->filled('par-page')) { $users = $request->get('par-page') == 'all' ? $query->orderBy('id', $orderBy)->get() : $query->orderBy('id', $orderBy)->paginate($request->get('par-page'))->withQueryString(); } else { $users = $query->orderBy('id', $orderBy)->paginate()->withQueryString(); } return view('customer::banned_customer')->with([ 'users' => $users, ]); } public function show($id) { checkAdminHasPermissionAndThrowException('customer.view'); $user = User::findOrFail($id); $banned_histories = BannedHistory::where('user_id', $id)->orderBy('id', 'desc')->get(); return view('customer::customer_show')->with([ 'user' => $user, 'banned_histories' => $banned_histories, ]); } public function update(Request $request, $id) { checkAdminHasPermissionAndThrowException('customer.update'); $rules = [ 'name' => 'required', 'address' => 'required', ]; $customMessages = [ 'name.required' => __('Name is required'), 'address.required' => __('Address is required'), ]; $request->validate($rules, $customMessages); $user = User::findOrFail($id); $user->name = $request->name; $user->phone = $request->phone; $user->address = $request->address; $user->save(); $notification = __('Updated Successfully'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } public function password_change(Request $request, $id) { checkAdminHasPermissionAndThrowException('customer.update'); $rules = [ 'password' => 'required|min:4|confirmed', ]; $customMessages = [ 'password.required' => __('Password is required'), 'password.min' => __('Password minimum 4 character'), 'password.confirmed' => __('Confirm password does not match'), ]; $this->validate($request, $rules, $customMessages); $user = User::findOrFail($id); $user->password = Hash::make($request->password); $user->save(); $notification = __('Password change successfully'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } public function send_banned_request(Request $request, $id) { checkAdminHasPermissionAndThrowException('customer.update'); $rules = [ 'subject' => 'required|max:255', 'description' => 'required', ]; $customMessages = [ 'subject.required' => __('Subject is required'), 'description.required' => __('Description is required'), ]; $this->validate($request, $rules, $customMessages); $user = User::findOrFail($id); if ($user->is_banned == 'yes') { $user->is_banned = 'no'; $user->save(); $banned = new BannedHistory(); $banned->user_id = $id; $banned->subject = $request->subject; $banned->reasone = 'for_unbanned'; $banned->description = $request->description; $banned->save(); } else { $user->is_banned = 'yes'; $user->save(); $banned = new BannedHistory(); $banned->user_id = $id; $banned->subject = $request->subject; $banned->reasone = 'for_banned'; $banned->description = $request->description; $banned->save(); } //Mail send $this->sendMail($user->email, $request->subject, $request->description); $notification = __('Banned request successfully'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } public function send_verify_request(Request $request, $id) { $user = User::findOrFail($id); $user->verification_token = Str::random(100); $user->save(); (new MailSenderService)->sendVerifyMailSingleUser($user); $notification = __('A verification link has been send to user mail'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } public function send_verify_request_to_all(Request $request) { (new MailSenderService)->sendVerifyMailToAllUser(); $notification = __('A verification link has been send to user mail'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } public function send_mail_to_customer(Request $request, $id) { checkAdminHasPermissionAndThrowException('customer.bulk.mail'); $rules = [ 'subject' => 'required|max:255', 'description' => 'required', ]; $customMessages = [ 'subject.required' => __('Subject is required'), 'description.required' => __('Description is required'), ]; $this->validate($request, $rules, $customMessages); $user = User::select('email')->findOrFail($id); //send mail $this->sendMail($user->email, $request->subject, $request->description); $notification = __('Mail sent to customer successfully'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } public function send_bulk_mail() { checkAdminHasPermissionAndThrowException('customer.bulk.mail'); return view('customer::send_bulk_mail'); } public function send_bulk_mail_to_all(Request $request) { checkAdminHasPermissionAndThrowException('customer.bulk.mail'); $rules = [ 'subject' => 'required|max:255', 'description' => 'required', ]; $customMessages = [ 'subject.required' => __('Subject is required'), 'description.required' => __('Description is required'), ]; $this->validate($request, $rules, $customMessages); $userCount = User::select('id')->where(['status' => 'active', 'is_banned' => 'no'])->where('email_verified_at', '!=', null)->count(); if ($userCount > 0) { $email_list = User::select('email')->where(['status' => 'active', 'is_banned' => 'no'])->where('email_verified_at', '!=', null)->orderBy('id', 'desc')->get(); (new MailSenderService)->SendBulkEmail($email_list, $request->subject, $request->description); $notification = __('Mail sent to customer successfully'); $notification = ['messege' => $notification, 'alert-type' => 'success']; } else { $notification = __('Mail can not be sent because no active user was found.'); $notification = ['messege' => $notification, 'alert-type' => 'error']; } return redirect()->back()->with($notification); } public function destroy($id) { checkAdminHasPermissionAndThrowException('customer.delete'); $user = User::findOrFail($id); if ($user->image) { if (File::exists(public_path($user->image))) { unlink(public_path($user->image)); } } SubscriptionHistory::where('user_id',$user->id)->delete(); WishList::where('user_id',$user->id)->delete(); PropertyReview::where('user_id',$user->id)->delete(); $properties=Property::where('user_id',$user->id)->orderBy('id','desc')->get(); foreach($properties as $property){ $old_thumbnail=$property->thumbnail_image; $old_banner=$property->banner_image; $old_pdf=$property->pdf_file; PropertyAminity::where('property_id',$property->id)->delete(); Wishlist::where('property_id',$property->id)->delete(); PropertyReview::where('property_id',$property->id)->delete(); PropertyNearestLocation::where('property_id',$property->id)->delete(); $propertyImages = PropertyImage::where('property_id', $property->id)->get(); foreach($propertyImages as $image){ if(File::exists(public_path().'/'.$image->image)) unlink(public_path().'/'.$image->image); $image->delete(); } if($old_pdf){ if(File::exists(public_path().'/'.$old_pdf)) unlink(public_path().'/'.$old_pdf); } if(File::exists(public_path().'/'.$old_thumbnail)) unlink(public_path().'/'.$old_thumbnail); if(File::exists(public_path().'/'.$old_banner)) unlink(public_path().'/'.$old_banner); $property->translations()->each(function ($translation) { $translation->delete(); }); $property->delete(); } $user->delete(); $notification = __('Customer deleted successfully'); $notification = ['messege' => $notification, 'alert-type' => 'success']; return redirect()->back()->with($notification); } } app/Http/Requests/.gitkeep 0000644 00000000000 15012230607 0011471 0 ustar 00 app/Http/Middleware/.gitkeep 0000644 00000000000 15012230607 0011733 0 ustar 00 app/Models/.gitkeep 0000644 00000000000 15012230607 0010162 0 ustar 00 app/Models/BannedHistory.php 0000644 00000000664 15012230607 0012033 0 ustar 00 <?php namespace Modules\Customer\app\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Modules\Customer\Database\factories\BannedHistoryFactory; class BannedHistory extends Model { use HasFactory; /** * The attributes that are mass assignable. */ protected $fillable = []; protected static function newFactory(): BannedHistoryFactory { } } app/Providers/RouteServiceProvider.php 0000644 00000002667 15012230607 0014153 0 ustar 00 <?php namespace Modules\Customer\app\Providers; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Support\Facades\Route; class RouteServiceProvider extends ServiceProvider { /** * The module namespace to assume when generating URLs to actions. */ protected string $moduleNamespace = 'Modules\Customer\app\Http\Controllers'; /** * Called before routes are registered. * * Register any model bindings or pattern based filters. */ public function boot(): void { parent::boot(); } /** * Define the routes for the application. */ public function map(): void { $this->mapApiRoutes(); $this->mapWebRoutes(); } /** * Define the "web" routes for the application. * * These routes all receive session state, CSRF protection, etc. */ protected function mapWebRoutes(): void { Route::middleware('web') ->namespace($this->moduleNamespace) ->group(module_path('Customer', '/routes/web.php')); } /** * Define the "api" routes for the application. * * These routes are typically stateless. */ protected function mapApiRoutes(): void { Route::prefix('api') ->middleware('api') ->namespace($this->moduleNamespace) ->group(module_path('Customer', '/routes/api.php')); } } app/Providers/.gitkeep 0000644 00000000000 15012230607 0010714 0 ustar 00 app/Providers/CustomerServiceProvider.php 0000644 00000006446 15012230607 0014655 0 ustar 00 <?php namespace Modules\Customer\app\Providers; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; class CustomerServiceProvider extends ServiceProvider { protected string $moduleName = 'Customer'; protected string $moduleNameLower = 'customer'; /** * Boot the application events. */ public function boot(): void { $this->registerCommands(); $this->registerCommandSchedules(); $this->registerTranslations(); $this->registerConfig(); $this->registerViews(); $this->loadMigrationsFrom(module_path($this->moduleName, 'database/migrations')); } /** * Register the service provider. */ public function register(): void { $this->app->register(RouteServiceProvider::class); } /** * Register commands in the format of Command::class */ protected function registerCommands(): void { // $this->commands([]); } /** * Register command Schedules. */ protected function registerCommandSchedules(): void { // $this->app->booted(function () { // $schedule = $this->app->make(Schedule::class); // $schedule->command('inspire')->hourly(); // }); } /** * Register translations. */ public function registerTranslations(): void { $langPath = resource_path('lang/modules/'.$this->moduleNameLower); if (is_dir($langPath)) { $this->loadTranslationsFrom($langPath, $this->moduleNameLower); $this->loadJsonTranslationsFrom($langPath); } else { $this->loadTranslationsFrom(module_path($this->moduleName, 'lang'), $this->moduleNameLower); $this->loadJsonTranslationsFrom(module_path($this->moduleName, 'lang')); } } /** * Register config. */ protected function registerConfig(): void { $this->publishes([module_path($this->moduleName, 'config/config.php') => config_path($this->moduleNameLower.'.php')], 'config'); $this->mergeConfigFrom(module_path($this->moduleName, 'config/config.php'), $this->moduleNameLower); } /** * Register views. */ public function registerViews(): void { $viewPath = resource_path('views/modules/'.$this->moduleNameLower); $sourcePath = module_path($this->moduleName, 'resources/views'); $this->publishes([$sourcePath => $viewPath], ['views', $this->moduleNameLower.'-module-views']); $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); $componentNamespace = str_replace('/', '\\', config('modules.namespace').'\\'.$this->moduleName.'\\'.config('modules.paths.generator.component-class.path')); Blade::componentNamespace($componentNamespace, $this->moduleNameLower); } /** * Get the services provided by the provider. */ public function provides(): array { return []; } private function getPublishableViewPaths(): array { $paths = []; foreach (config('view.paths') as $path) { if (is_dir($path.'/modules/'.$this->moduleNameLower)) { $paths[] = $path.'/modules/'.$this->moduleNameLower; } } return $paths; } } database/factories/.gitkeep 0000644 00000000000 15012230607 0011702 0 ustar 00 database/migrations/.gitkeep 0000644 00000000000 15012230607 0012077 0 ustar 00 database/migrations/2023_11_19_064341_create_banned_histories_table.php 0000644 00000001350 15012230607 0021303 0 ustar 00 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('banned_histories', function (Blueprint $table) { $table->id(); $table->integer('user_id'); $table->string('subject')->nullable(); $table->string('reasone')->nullable(); $table->text('description')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('banned_histories'); } }; database/seeders/.gitkeep 0000644 00000000000 15012230607 0011355 0 ustar 00 database/seeders/error_log 0000644 00000000526 15012230607 0011656 0 ustar 00 [13-May-2025 07:50:33 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Seeder" not found in /home/lekhnath/silverray.com.au/Modules/Customer/database/seeders/CustomerDatabaseSeeder.php:7 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Customer/database/seeders/CustomerDatabaseSeeder.php on line 7 database/seeders/CustomerDatabaseSeeder.php 0000644 00000000375 15012230607 0015032 0 ustar 00 <?php namespace Modules\Customer\database\seeders; use Illuminate\Database\Seeder; class CustomerDatabaseSeeder extends Seeder { /** * Run the database seeds. */ public function run(): void { // $this->call([]); } } resources/assets/.gitkeep 0000644 00000000000 15012230607 0011473 0 ustar 00 resources/assets/js/app.js 0000644 00000000000 15012230607 0011574 0 ustar 00 resources/assets/sass/app.scss 0000644 00000000000 15012230607 0012470 0 ustar 00 resources/views/sidebar.blade.php 0000644 00000003162 15012230607 0013101 0 ustar 00 <li class="nav-item dropdown {{ isRoute(['admin.all-customers', 'admin.active-customers', 'admin.non-verified-customers', 'admin.banned-customers', 'admin.customer-show', 'admin.send-bulk-mail'], 'active') }}"> <a href="javascript:void()" class="nav-link has-dropdown"> <i class="fas fa-users"></i><span>{{ __('Manage Customers') }}</span> </a> <ul class="dropdown-menu"> @adminCan('customer.view') <li class="{{ isRoute('admin.all-customers', 'active') }}"> <a class="nav-link" href="{{ route('admin.all-customers') }}"> {{ __('All Customers') }} </a> </li> <li class="{{ isRoute('admin.active-customers', 'active') }}"> <a class="nav-link" href="{{ route('admin.active-customers') }}"> {{ __('Active Customer') }} </a> </li> <li class="{{ isRoute('admin.non-verified-customers', 'active') }}"> <a class="nav-link" href="{{ route('admin.non-verified-customers') }}"> {{ __('Non verified') }} </a> </li> <li class="{{ isRoute('admin.banned-customers', 'active') }}"> <a class="nav-link" href="{{ route('admin.banned-customers') }}"> {{ __('Banned Customer') }} </a> </li> @endadminCan @adminCan('customer.bulk.mail') <li class="{{ isRoute('admin.send-bulk-mail', 'active') }}"> <a class="nav-link" href="{{ route('admin.send-bulk-mail') }}"> {{ __('Send bulk mail') }} </a> </li> @endadminCan </ul> </li> resources/views/customer_show.blade.php 0000644 00000033565 15012230607 0014403 0 ustar 00 @extends('admin.master_layout') @section('title') <title>{{ __('Customer Details') }}</title> @endsection @section('admin-content') <!-- Main Content --> <div class="main-content"> <section class="section"> <x-admin.breadcrumb title="{{ __('Customer Details') }}" :list="[ __('Dashboard') => route('admin.dashboard'), __('Customer Details') => '#', ]" /> <div class="section-body"> <div class="row"> <div class="col-md-3"> <div class="card shadow"> @if ($user->image) <img src="{{ asset($user->image) }}" class="w-100"> @else <img src="{{ asset($setting->default_avatar) }}" class="w-100"> @endif <div class="container my-3"> <h4>{{ html_decode($user->name) }}</h4> @if ($user->phone) <p class="title">{{ html_decode($user->phone) }}</p> @endif <p class="title">{{ html_decode($user->email) }}</p> <p class="title">{{ __('Joined') }} : {{ formattedDateTime($user->created_at) }}</p> @if ($user->is_banned == 'yes') <p class="title">{{ __('Banned') }} : <b>{{ __('Yes') }}</b></p> @else <p class="title">{{ __('Banned') }} : <b>{{ __('No') }}</b></p> @endif @if ($user->email_verified_at) <p class="title">{{ __('Email verified') }} : <b>{{ __('Yes') }}</b> </p> @else <p class="title">{{ __('Email verified') }} : <b>{{ __('None') }}</b> </p> <x-admin.button variant="success" class="mb-3" data-bs-toggle="modal" data-bs-target="#verifyModal" :text="__('Send Verify Link to Mail')" /> @endif <x-admin.button class="sendMail mb-3" data-bs-toggle="modal" data-bs-target="#sendMailModal" :text="__('Send Mail To Customer')" /> @if ($user->is_banned == 'yes') <x-admin.button variant="warning" class="mb-3" data-bs-toggle="modal" data-bs-target="#bannedModal" :text="__('Remove to Banned')" /> @else <x-admin.button variant="warning" class="mb-3" data-bs-toggle="modal" data-bs-target="#bannedModal" :text="__('Make a Banned')" /> @endif </div> </div> </div> <div class="col-md-9"> {{-- profile information card area --}} <div class="card"> <div class="card-header"> <x-admin.form-title :text="__('Profile Information')" /> </div> <div class="card-body"> <form action="{{ route('admin.customer-info-update', $user->id) }}" method="post" enctype="multipart/form-data"> @csrf @method('PUT') <div class="row"> <div class="col-md-6 mb-3"> <x-admin.form-input id="name" name="name" label="{{ __('Name') }}" placeholder="{{ __('Enter Name') }}" value="{{ html_decode($user->name) }}" required="true" /> </div> <div class="col-md-6 mb-3"> <x-admin.form-input id="phone" name="phone" label="{{ __('Phone') }}" placeholder="{{ __('Enter Phone') }}" value="{{ html_decode($user->phone) }}" /> </div> <div class="col-md-12 mb-3"> <x-admin.form-input id="address" name="address" label="{{ __('Address') }}" placeholder="{{ __('Enter Address') }}" value="{{ html_decode($user->address) }}" /> </div> <div class="col-md-12 mt-4"> <x-admin.button type="submit" class="w-100" :text="__('Update Profile')" /> </div> </div> </form> </div> </div> {{-- change password card area --}} <div class="card"> <div class="card-header"> <x-admin.form-title :text="__('Change Password')" /> </div> <div class="card-body"> <form action="{{ route('admin.customer-password-change', $user->id) }}" method="post"> @csrf @method('PUT') <div class="row"> <div class="col-md-6 mb-3"> <x-admin.form-input type="password" id="password" name="password" label="{{ __('Password') }}" placeholder="{{ __('Enter Password') }}" required="true" /> </div> <div class="col-md-6 mb-3"> <x-admin.form-input type="password" id="password_confirmation" name="password_confirmation" label="{{ __('Confirm Password') }}" placeholder="{{ __('Enter Confirm Password') }}" required="true" /> </div> <div class="col-md-12 mt-4"> <x-admin.button type="submit" class="w-100" :text="__('Change Password')" /> </div> </div> </form> </div> </div> {{-- banned history card area --}} <div class="card"> <div class="card-header"> <x-admin.form-title :text="__('Banned History')" /> </div> <div class="card-body"> <table class="table table-striped"> <thead> <tr> <th width="30%">{{ __('Subject') }}</th> <th width="30%">{{ __('Description') }}</th> </tr> </thead> <tbody> @foreach ($banned_histories as $banned_history) <tr> <td>{{ $banned_history->subject }}</td> <td>{!! nl2br($banned_history->description) !!}</td> </tr> @endforeach </tbody> </table> </div> </div> </div> </div> </div> </section> </div> <!-- Start Banned modal --> <div class="modal fade" id="bannedModal" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">{{ __('Banned confirmation') }}</h5> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> <div class="container-fluid"> <form action="{{ route('admin.send-banned-request', $user->id) }}" method="POST"> @csrf <div class="form-group"> <x-admin.form-input id="banned_user_subject" name="subject" label="{{ __('Subject') }}" placeholder="{{ __('Enter Subject') }}" value="{{ old('subject') }}" required="true" /> </div> <div class="form-group"> <x-admin.form-textarea id="banned_user_description" name="description" label="{{ __('Description') }}" placeholder="{{ __('Enter Description') }}" value="{{ old('description') }}" maxlength="1000" required="true" /> </div> </div> </div> <div class="modal-footer"> <x-admin.button variant="danger" data-bs-dismiss="modal" text="{{ __('Close') }}" /> <x-admin.button type="submit" text="{{ __('Send Request') }}" /> </form> </div> </div> </div> </div> <!-- End Banned modal --> <!-- Start Verify modal --> <div class="modal fade" id="verifyModal" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">{{ __('Send verify link to customer mail') }}</h5> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> <div class="container-fluid"> <p>{{ __('Are you sure want to send verify link to customer mail?') }}</p> <form action="{{ route('admin.send-verify-request', $user->id) }}" method="POST"> @csrf </div> </div> <div class="modal-footer"> <x-admin.button variant="danger" data-bs-dismiss="modal" text="{{ __('Close') }}" /> <x-admin.button type="submit" text="{{ __('Send Request') }}" /> </form> </div> </div> </div> </div> <!-- End Verify modal --> <!-- Start Send Mail modal --> <div class="modal fade" id="sendMailModal" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">{{ __('Send mail to customer') }}</h5> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> <div class="container-fluid"> <form action="{{ route('admin.send-mail-to-customer', $user->id) }}" method="POST"> @csrf <div class="form-group"> <x-admin.form-input id="mail_send_subject" name="subject" label="{{ __('Subject') }}" placeholder="{{ __('Enter Subject') }}" value="{{ old('subject') }}" required="true" /> </div> <div class="form-group"> <x-admin.form-textarea id="mail_send_description" name="description" label="{{ __('Description') }}" placeholder="{{ __('Enter Description') }}" value="{{ old('description') }}" maxlength="1000" required="true" /> </div> </div> </div> <div class="modal-footer"> <x-admin.button variant="danger" data-bs-dismiss="modal" text="{{ __('Close') }}" /> <x-admin.button type="submit" text="{{ __('Send Request') }}" /> </form> </div> </div> </div> </div> <!-- End Send Mail modal --> <x-admin.delete-modal /> @push('js') <script> function deleteData(id) { $("#deleteForm").attr("action", '{{ url('/admin/customer-delete/') }}' + "/" + id) } </script> @endpush @endsection resources/views/send_bulk_mail.blade.php 0000644 00000003217 15012230607 0014441 0 ustar 00 @extends('admin.master_layout') @section('title') <title>{{ __('Send bulk mail to all') }}</title> @endsection @section('admin-content') <div class="main-content"> <section class="section"> <x-admin.breadcrumb title="{{ __('Send bulk mail to all') }}" :list="[ __('Dashboard') => route('admin.dashboard'), __('Send bulk mail to all') => '#', ]" /> <div class="section-body"> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-body"> <form action="{{ route('admin.send-bulk-mail-to-all') }}" method="POST"> @csrf <div class="form-group"> <x-admin.form-input id="subject" name="subject" label="{{ __('Subject') }}" placeholder="{{ __('Enter Subject') }}" value="{{ old('subject') }}" required="true"/> </div> <div class="form-group"> <x-admin.form-editor id="description" name="description" label="{{ __('Description') }}" value="{!! old('description') !!}" required="true"/> </div> <x-admin.button type="submit" :text="__('Send Mail')" /> </form> </div> </div> </div> </div> </div> </section> </div> @endsection resources/views/.gitkeep 0000644 00000000000 15012230607 0011326 0 ustar 00 resources/views/active_customer.blade.php 0000644 00000015470 15012230607 0014671 0 ustar 00 @extends('admin.master_layout') @section('title') <title>{{ __('Active Customer') }}</title> @endsection @section('admin-content') <div class="main-content"> <section class="section"> <x-admin.breadcrumb title="{{ __('Active Customer') }}" :list="[ __('Dashboard') => route('admin.dashboard'), __('Active Customer') => '#', ]" /> <div class="section-body"> <div class="row"> {{-- Search filter --}} <div class="col-12"> <div class="card"> <div class="card-body p-0"> <form action="{{ route('admin.active-customers') }}" method="GET" onchange="$(this).trigger('submit')" class="card-body pb-1"> <div class="row"> <div class="col-md-6 col-lg-4 form-group mb-3"> <x-admin.form-input name="keyword" placeholder="{{ __('Search') }}" value="{{ request()->get('keyword') }}" /> </div> <div class="col-md-6 col-lg-4 form-group mb-3"> <x-admin.form-select name="order_by" id="order_by" class="form-select"> <x-admin.select-option value="" text="{{ __('Order By') }}" /> <x-admin.select-option :selected="request('order_by') == '1'" value="1" text="{{ __('ASC') }}" /> <x-admin.select-option :selected="request('order_by') == '0'" value="0" text="{{ __('DESC') }}" /> </x-admin.form-select> </div> <div class="col-md-6 col-lg-4 form-group mb-3"> <x-admin.form-select name="par-page" id="par-page" class="form-select"> <x-admin.select-option value="" text="{{ __('Per Page') }}" /> <x-admin.select-option :selected="request('par-page') == '5'" value="5" text="{{ __('5') }}" /> <x-admin.select-option :selected="request('par-page') == '10'" value="10" text="{{ __('10') }}" /> <x-admin.select-option :selected="request('par-page') == '25'" value="25" text="{{ __('25') }}" /> <x-admin.select-option :selected="request('par-page') == '50'" value="50" text="{{ __('50') }}" /> <x-admin.select-option :selected="request('par-page') == '100'" value="100" text="{{ __('100') }}" /> <x-admin.select-option :selected="request('par-page') == 'all'" value="all" text="{{ __('All') }}" /> </x-admin.form-select> </div> </div> </form> </div> </div> </div> <div class="col-12"> <div class="card"> <div class="card-body"> <div class="table-responsive table-invoice"> <table class="table table-striped"> <thead> <tr> <th>{{ __('SN') }}</th> <th>{{ __('Name') }}</th> <th>{{ __('Email') }}</th> <th>{{ __('Joined at') }}</th> <th>{{ __('Action') }}</th> </tr> </thead> <tbody> @forelse ($users as $index => $user) <tr> <td>{{ ++$index }}</td> <td>{{ html_decode($user->name) }}</td> <td>{{ html_decode($user->email) }}</td> <td>{{ formattedDateTime($user->created_at) }}</td> <td> <a href="{{ route('admin.customer-show', $user->id) }}" class="btn btn-success btn-sm"><i class="fas fa-eye"></i></a> <x-admin.delete-button :id="$user->id" onclick="deleteData" /> </td> </tr> @empty <x-empty-table :name="__('Customer')" route="" create="no" :message="__('No data found!')" colspan="5" /> @endforelse </tbody> </table> </div> @if (request()->get('par-page') !== 'all') <div class="float-right"> {{ $users->onEachSide(0)->links() }} </div> @endif </div> </div> </div> </div> </div> </section> </div> <x-admin.delete-modal /> @push('js') <script> function deleteData(id) { $("#deleteForm").attr("action", '{{ url('/admin/customer-delete/') }}' + "/" + id) } </script> @endpush @endsection resources/views/non_verified_customer.blade.php 0000644 00000022471 15012230607 0016064 0 ustar 00 @extends('admin.master_layout') @section('title') <title>{{ __('Non verified Customers') }}</title> @endsection @section('admin-content') <div class="main-content"> <section class="section"> <x-admin.breadcrumb title="{{ __('Non verified Customers') }}" :list="[ __('Dashboard') => route('admin.dashboard'), __('Non verified Customers') => '#', ]" /> <div class="section-body"> <div class="row"> {{-- Search filter --}} <div class="col-12"> <div class="card"> <div class="card-body p-0"> <form action="{{ route('admin.non-verified-customers') }}" method="GET" onchange="$(this).trigger('submit')" class="card-body pb-1"> <div class="row"> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-input name="keyword" placeholder="{{ __('Search') }}" value="{{ request()->get('keyword') }}" /> </div> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-select name="banned" id="banned" class="form-select"> <x-admin.select-option value="" text="{{ __('Select Banned') }}" /> <x-admin.select-option :selected="request('banned') == '1'" value="1" text="{{ __('Banned') }}" /> <x-admin.select-option :selected="request('banned') == '0'" value="0" text="{{ __('Non-banned') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-select name="order_by" id="order_by" class="form-select"> <x-admin.select-option value="" text="{{ __('Order By') }}" /> <x-admin.select-option :selected="request('order_by') == '1'" value="1" text="{{ __('ASC') }}" /> <x-admin.select-option :selected="request('order_by') == '0'" value="0" text="{{ __('DESC') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-select name="par-page" id="par-page" class="form-select"> <x-admin.select-option value="" text="{{ __('Per Page') }}" /> <x-admin.select-option :selected="request('par-page') == '5'" value="5" text="{{ __('5') }}" /> <x-admin.select-option :selected="request('par-page') == '10'" value="10" text="{{ __('10') }}" /> <x-admin.select-option :selected="request('par-page') == '25'" value="25" text="{{ __('25') }}" /> <x-admin.select-option :selected="request('par-page') == '50'" value="50" text="{{ __('50') }}" /> <x-admin.select-option :selected="request('par-page') == '100'" value="100" text="{{ __('100') }}" /> <x-admin.select-option :selected="request('par-page') == 'all'" value="all" text="{{ __('All') }}" /> </x-admin.form-select> </div> </div> </form> </div> </div> </div> <div class="col-12"> @if ($users->count()) <a href="javascript:;" data-bs-toggle="modal" data-bs-target="#verifyModal" class="btn btn-primary mb-3">{{ __('Send Verify Link to All') }}</a> @endif <div class="card"> <div class="card-body"> <div class="table-responsive table-invoice"> <table class="table table-striped"> <thead> <tr> <th>{{ __('SN') }}</th> <th>{{ __('Name') }}</th> <th>{{ __('Email') }}</th> <th>{{ __('Joined at') }}</th> <th>{{ __('Action') }}</th> </tr> </thead> <tbody> @forelse ($users as $index => $user) <tr> <td>{{ ++$index }}</td> <td>{{ html_decode($user->name) }}</td> <td>{{ html_decode($user->email) }}</td> <td>{{ formattedDateTime($user->created_at) }}</td> <td> <a href="{{ route('admin.customer-show', $user->id) }}" class="btn btn-success btn-sm"><i class="fas fa-eye"></i></a> <x-admin.delete-button :id="$user->id" onclick="deleteData" /> </td> </tr> @empty <x-empty-table :name="__('Customer')" route="" create="no" :message="__('No data found!')" colspan="5" /> @endforelse </tbody> </table> </div> @if (request()->get('par-page') !== 'all') <div class="float-right"> {{ $users->onEachSide(0)->links() }} </div> @endif </div> </div> </div> </div> </div> </section> </div> @if ($users->count()) <!-- Start Verify modal --> <div class="modal fade" id="verifyModal" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">{{ __('Send verify link to customer mail') }}</h5> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> <div class="container-fluid"> <p>{{ __('Are you sure want to send verify link to customer mail?') }}</p> <form action="{{ route('admin.send-verify-request-to-all') }}" method="POST"> @csrf </div> </div> <div class="modal-footer"> <x-admin.button variant="danger" data-bs-dismiss="modal" text="{{ __('Close') }}" /> <x-admin.button type="submit" text="{{ __('Send Request') }}" /> </form> </div> </div> </div> </div> <!-- End Verify modal --> @endif <x-admin.delete-modal /> @push('js') <script> function deleteData(id) { $("#deleteForm").attr("action", '{{ url('/admin/customer-delete/') }}' + "/" + id) } </script> @endpush @endsection resources/views/all_customer.blade.php 0000644 00000022625 15012230607 0014166 0 ustar 00 @extends('admin.master_layout') @section('title') <title>{{ __('All Customers') }}</title> @endsection @section('admin-content') <div class="main-content"> <section class="section"> <x-admin.breadcrumb title="{{ __('All Customer') }}" :list="[ __('Dashboard') => route('admin.dashboard'), __('All Customer') => '#', ]" /> <div class="section-body"> <div class="row"> {{-- Search filter --}} <div class="col-12"> <div class="card"> <div class="card-body p-0"> <form action="{{ route('admin.all-customers') }}" method="GET" onchange="$(this).trigger('submit')" class="card-body pb-1"> <div class="row"> <div class="col-lg-4 col-md-6 form-group mb-3"> <x-admin.form-input name="keyword" placeholder="{{ __('Search') }}" value="{{ request()->get('keyword') }}" /> </div> <div class="col-lg-4 col-md-6 form-group mb-3"> <x-admin.form-select name="verified" id="verified" class="form-select"> <x-admin.select-option value="" text="{{ __('Select Verified') }}" /> <x-admin.select-option :selected="request('verified') == '1'" value="1" text="{{ __('Verified') }}" /> <x-admin.select-option :selected="request('verified') == '0'" value="0" text="{{ __('Non-verified') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-md-6 form-group mb-3"> <x-admin.form-select name="banned" id="banned" class="form-select"> <x-admin.select-option value="" text="{{ __('Select Banned') }}" /> <x-admin.select-option :selected="request('banned') == '1'" value="1" text="{{ __('Banned') }}" /> <x-admin.select-option :selected="request('banned') == '0'" value="0" text="{{ __('Non-banned') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-md-6 form-group mb-3"> <x-admin.form-select name="order_by" id="order_by" class="form-select"> <x-admin.select-option value="" text="{{ __('Order By') }}" /> <x-admin.select-option :selected="request('order_by') == '1'" value="1" text="{{ __('ASC') }}" /> <x-admin.select-option :selected="request('order_by') == '0'" value="0" text="{{ __('DESC') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-md-6 form-group mb-3"> <x-admin.form-select name="par-page" id="par-page" class="form-select"> <x-admin.select-option value="" text="{{ __('Per Page') }}" /> <x-admin.select-option :selected="request('par-page') == '5'" value="5" text="{{ __('5') }}" /> <x-admin.select-option :selected="request('par-page') == '10'" value="10" text="{{ __('10') }}" /> <x-admin.select-option :selected="request('par-page') == '25'" value="25" text="{{ __('25') }}" /> <x-admin.select-option :selected="request('par-page') == '50'" value="50" text="{{ __('50') }}" /> <x-admin.select-option :selected="request('par-page') == '100'" value="100" text="{{ __('100') }}" /> <x-admin.select-option :selected="request('par-page') == 'all'" value="all" text="{{ __('All') }}" /> </x-admin.form-select> </div> </div> </form> </div> </div> </div> <div class="col-12"> <div class="card"> <div class="card-body"> <div class="table-responsive table-invoice"> <table class="table table-striped"> <thead> <tr> <th>{{ __('SN') }}</th> <th>{{ __('Name') }}</th> <th>{{ __('Email') }}</th> <th>{{ __('Joined at') }}</th> <th>{{ __('Status') }}</th> <th>{{ __('Action') }}</th> </tr> </thead> <tbody> @forelse ($users as $index => $user) <tr> <td>{{ ++$index }}</td> <td>{{ html_decode($user->name) }}</td> <td>{{ html_decode($user->email) }}</td> <td>{{ formattedDateTime($user->created_at) }}</td> <td> @if ($user->email_verified_at) @if ($user->is_banned == 'no') <span class="badge bg-success">{{ __('Active') }}</span> @else <b class="badge bg-danger">{{ __('Banned') }}</b> @endif @else <span class="badge bg-warning">{{ __('Not verified') }}</span> @endif </td> <td> <a href="{{ route('admin.customer-show', $user->id) }}" class="btn btn-success btn-sm"><i class="fas fa-eye"></i></a> <x-admin.delete-button :id="$user->id" onclick="deleteData" /> </td> </tr> @empty <x-empty-table :name="__('Customer')" route="" create="no" :message="__('No data found!')" colspan="6" /> @endforelse </tbody> </table> </div> @if (request()->get('par-page') !== 'all') <div class="float-right"> {{ $users->onEachSide(0)->links() }} </div> @endif </div> </div> </div> </div> </div> </section> </div> <x-admin.delete-modal /> @push('js') <script> function deleteData(id) { $("#deleteForm").attr("action", '{{ url('/admin/customer-delete/') }}' + "/" + id) } </script> @endpush @endsection resources/views/banned_customer.blade.php 0000644 00000017253 15012230607 0014646 0 ustar 00 @extends('admin.master_layout') @section('title') <title>{{ __('Banned Customers') }}</title> @endsection @section('admin-content') <div class="main-content"> <section class="section"> <x-admin.breadcrumb title="{{ __('Banned Customer') }}" :list="[ __('Dashboard') => route('admin.dashboard'), __('Banned Customer') => '#', ]" /> <div class="section-body"> <div class="row"> {{-- Search filter --}} <div class="col-12"> <div class="card"> <div class="card-body p-0"> <form action="{{ route('admin.banned-customers') }}" method="GET" onchange="$(this).trigger('submit')" class="card-body pb-0"> <div class="row"> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-input name="keyword" placeholder="{{ __('Search') }}" value="{{ request()->get('keyword') }}" /> </div> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-select name="verified" id="verified" class="form-select"> <x-admin.select-option value="" text="{{ __('Select Verified') }}" /> <x-admin.select-option :selected="request('verified') == '1'" value="1" text="{{ __('Verified') }}" /> <x-admin.select-option :selected="request('verified') == '0'" value="0" text="{{ __('Non-verified') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-select name="order_by" id="order_by" class="form-select"> <x-admin.select-option value="" text="{{ __('Order By') }}" /> <x-admin.select-option :selected="request('order_by') == '1'" value="1" text="{{ __('ASC') }}" /> <x-admin.select-option :selected="request('order_by') == '0'" value="0" text="{{ __('DESC') }}" /> </x-admin.form-select> </div> <div class="col-lg-4 col-xl-3 col-md-6 form-group mb-3"> <x-admin.form-select name="par-page" id="par-page" class="form-select"> <x-admin.select-option value="" text="{{ __('Per Page') }}" /> <x-admin.select-option :selected="request('par-page') == '5'" value="5" text="{{ __('5') }}" /> <x-admin.select-option :selected="request('par-page') == '10'" value="10" text="{{ __('10') }}" /> <x-admin.select-option :selected="request('par-page') == '25'" value="25" text="{{ __('25') }}" /> <x-admin.select-option :selected="request('par-page') == '50'" value="50" text="{{ __('50') }}" /> <x-admin.select-option :selected="request('par-page') == '100'" value="100" text="{{ __('100') }}" /> <x-admin.select-option :selected="request('par-page') == 'all'" value="all" text="{{ __('All') }}" /> </x-admin.form-select> </div> </div> </form> </div> </div> </div> <div class="col-12"> <div class="card"> <div class="card-body"> <div class="table-responsive table-invoice"> <table class="table table-striped"> <thead> <tr> <th>{{ __('SN') }}</th> <th>{{ __('Name') }}</th> <th>{{ __('Email') }}</th> <th>{{ __('Joined at') }}</th> <th>{{ __('Action') }}</th> </tr> </thead> <tbody> @forelse ($users as $index => $user) <tr> <td>{{ ++$index }}</td> <td>{{ html_decode($user->name) }}</td> <td>{{ html_decode($user->email) }}</td> <td>{{ formattedDateTime($user->created_at) }}</td> <td> <a href="{{ route('admin.customer-show', $user->id) }}" class="btn btn-success btn-sm"><i class="fas fa-eye"></i></a> <x-admin.delete-button :id="$user->id" onclick="deleteData" /> </td> </tr> @empty <x-empty-table :name="__('Customer')" route="" create="no" :message="__('No data found!')" colspan="5" /> @endforelse </tbody> </table> </div> @if (request()->get('par-page') !== 'all') <div class="float-right"> {{ $users->onEachSide(0)->links() }} </div> @endif </div> </div> </div> </div> </div> </section> </div> <x-admin.delete-modal /> @push('js') <script> function deleteData(id) { $("#deleteForm").attr("action", '{{ url('/admin/customer-delete/') }}' + "/" + id) } </script> @endpush @endsection
| ver. 1.4 |
Github
|
.
| PHP 8.3.20 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка