diff --git a/.gitignore b/.gitignore index 8b137891..61ead866 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ - +/vendor diff --git a/app/Http/Controllers/ShopViewsController.php b/app/Http/Controllers/ShopViewsController.php index e77cb9ca..4feb60c4 100644 --- a/app/Http/Controllers/ShopViewsController.php +++ b/app/Http/Controllers/ShopViewsController.php @@ -54,14 +54,14 @@ class ShopViewsController extends Controller } */ /* Paso 3 informacion personal */ - /* public function personal_account() { + // public function personal_account() { - return view('frontend.registro-comercio.views.personal-account'); - } */ + // return view('frontend.registro-comercio.views.personal-account'); + // } - /* Paso 4 informacion de la tienda */ - /* public function personal_shop() { + // /* Paso 4 informacion de la tienda */ + // public function personal_shop() { - return view('frontend.registro-comercio.views.personal-shop'); - } */ + // return view('frontend.registro-comercio.views.personal-shop'); + // } } diff --git a/app/Http/Controllers/TypeBusinessController.php b/app/Http/Controllers/TypeBusinessController.php index 6abab429..f6cabe93 100644 --- a/app/Http/Controllers/TypeBusinessController.php +++ b/app/Http/Controllers/TypeBusinessController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Mail\VerificationEmail; +use App\Models\Shop; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -127,4 +128,42 @@ class TypeBusinessController extends Controller { // } + + public function business_complete_index() + { + $user = auth()->user(); + + return view('frontend.registro-comercio.views.business.business_complete', compact('user')); + } + + public function business_complete_store(Request $request, Shop $shop) + { + // Validación de los campos + $validator = Validator::make($request->all(), [ + 'name' => ['required'], + 'address' => ['required'], + ]); + + // Si la validación falla, puedes redirigir de vuelta con los errores + if ($validator->fails()) { + return redirect()->back()->withErrors($validator)->withInput(); + } + + // Guardar los campos en el modelo Shop + $shop->user_id = $request->user()->id; + $shop->name = $request->name; + $shop->address = $request->address; + // Aquí puedes guardar otros campos si los tienes + + // Guardar el modelo Shop en la base de datos + $shop->save(); + + // Marcar el campo "shop_verified_at" como verificado en el modelo User + $request->user()->shop_verified_at = now(); // Puedes usar la función "now()" para establecer la fecha y hora actual + + // Guardar el modelo User en la base de datos + $request->user()->save(); + + return redirect()->route('seller.dashboard'); + } } diff --git a/app/Http/Controllers/TypeWorkshopController.php b/app/Http/Controllers/TypeWorkshopController.php index 0411cf73..48934ce4 100644 --- a/app/Http/Controllers/TypeWorkshopController.php +++ b/app/Http/Controllers/TypeWorkshopController.php @@ -3,7 +3,9 @@ namespace App\Http\Controllers; use App\Mail\VerificationEmail; +use App\Models\Shop; use App\Models\User; +use App\Models\Workshop; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; @@ -126,4 +128,42 @@ class TypeWorkshopController extends Controller { // } + + public function workshop_complete_index() + { + $user = auth()->user(); + + return view('frontend.registro-comercio.views.workshops.workshop_complete', compact('user')); + } + + public function workshop_complete_store(Request $request, Workshop $workshop) + { + // Validación de los campos + $validator = Validator::make($request->all(), [ + 'name' => ['required'], + 'address' => ['required'], + ]); + + // Si la validación falla, puedes redirigir de vuelta con los errores + if ($validator->fails()) { + return redirect()->back()->withErrors($validator)->withInput(); + } + + // Guardar los campos en el modelo Workshop + $workshop->name = $request->name; + $workshop->address = $request->address; + // Aquí puedes guardar otros campos si los tienes + + // Guardar el modelo Workshop en la base de datos + $workshop->save(); + + // Asignar el ID del taller al campo "workshop_id" en el modelo User + + // Marcar el campo "shop_verified_at" como verificado en el modelo User + $request->user()->shop_verified_at = now(); // Puedes usar la función "now()" para establecer la fecha y hora actual + $request->user()->workshop_id = $workshop->id; + $request->user()->save(); + + return redirect()->route('workshop.dashboard'); + } } diff --git a/app/Models/Shop.php b/app/Models/Shop.php index 662bf03b..775e2afc 100644 --- a/app/Models/Shop.php +++ b/app/Models/Shop.php @@ -9,6 +9,8 @@ class Shop extends Model protected $with = ['user']; + protected $fillable = ['name', 'address', 'user_id']; + public function user() { return $this->belongsTo(User::class); @@ -20,4 +22,10 @@ class Shop extends Model public function followers(){ return $this->hasMany(FollowSeller::class); } + + //URL AMIGABLES + public function getRouteKeyName() + { + return 'slug'; + } } diff --git a/app/Models/User.php b/app/Models/User.php index 63ada76a..142e75bc 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -148,5 +148,10 @@ class User extends Authenticatable implements MustVerifyEmail public function uploads(){ return $this->hasMany(Upload::class); } + + public function workshop() + { + return $this->hasOne(Workshop::class); + } } diff --git a/app/Models/Workshop.php b/app/Models/Workshop.php new file mode 100644 index 00000000..448ab8ca --- /dev/null +++ b/app/Models/Workshop.php @@ -0,0 +1,18 @@ +belongsTo(User::class); + } +} diff --git a/resources/views/frontend/registro-comercio/views/business/business_complete.blade.php b/resources/views/frontend/registro-comercio/views/business/business_complete.blade.php new file mode 100644 index 00000000..e6bb14b1 --- /dev/null +++ b/resources/views/frontend/registro-comercio/views/business/business_complete.blade.php @@ -0,0 +1,141 @@ + + + + + + + + + + La Pieza.DO | Registro + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+ +

Bienvenido

+

¡Gracias por registrarte! Para poder completar tu registro,
necesitamos que agregues los siguientes campos de negocio:

+ + +
+
+
+
+
+ +
+ {{-- --}} +
+ + + + + + {{-- --}} + + + + + + + + + + diff --git a/resources/views/frontend/registro-comercio/views/business/index.blade.php b/resources/views/frontend/registro-comercio/views/business/index.blade.php index 98337fa0..03a61c7d 100644 --- a/resources/views/frontend/registro-comercio/views/business/index.blade.php +++ b/resources/views/frontend/registro-comercio/views/business/index.blade.php @@ -221,7 +221,7 @@
- Utilice el número de teléfono en su lugar + Utilice el número de teléfono en su lugar @error('email')
{{ $message }}
@enderror diff --git a/resources/views/frontend/registro-comercio/views/buyers/index.blade.php b/resources/views/frontend/registro-comercio/views/buyers/index.blade.php index cc94f559..c344ced4 100644 --- a/resources/views/frontend/registro-comercio/views/buyers/index.blade.php +++ b/resources/views/frontend/registro-comercio/views/buyers/index.blade.php @@ -224,7 +224,7 @@
- Utilice el número de teléfono en su lugar + Utilice el número de teléfono en su lugar @error('email')
{{ $message }}
@enderror diff --git a/resources/views/frontend/registro-comercio/views/email-verification.blade.php b/resources/views/frontend/registro-comercio/views/email-verification.blade.php index e68e1f2b..47349661 100644 --- a/resources/views/frontend/registro-comercio/views/email-verification.blade.php +++ b/resources/views/frontend/registro-comercio/views/email-verification.blade.php @@ -77,10 +77,33 @@ - - @if($user->user_type == 'customer') + + @elseif($user->user_type == 'seller') + + @elseif($user->user_type == 'repair') + + @endif + + @endif + + + + + {{-- @if($user->user_type == 'customer') Continuar - @endif - @endif + @endif --}} diff --git a/resources/views/frontend/registro-comercio/views/signup-complete.blade.php b/resources/views/frontend/registro-comercio/views/signup-complete.blade.php index 5f56f567..c9e87c22 100644 --- a/resources/views/frontend/registro-comercio/views/signup-complete.blade.php +++ b/resources/views/frontend/registro-comercio/views/signup-complete.blade.php @@ -58,14 +58,54 @@

Bienvenido a La Pieza.DO, en breve nuestro departamento de servicios te enviara un email con todos los detalles de tu cuenta y la confirmación de tu registro.

- @if($user->user_type == 'customer') - Ir al Panel + {{-- @if($user->user_type == 'customer') + Ir al Panel @elseif($user->user_type == 'seller') - Ir al Panel + Ir al Panel @elseif($user->user_type == 'repair') - Ir al Panel - @endif + Ir al Panel + @endif --}} + {{-- @if($user->user_type == 'customer') + + @elseif($user->user_type == 'seller') + + @elseif($user->user_type == 'repair') + + @endif --}} + + + @if($user->user_type == 'customer') + + @elseif($user->user_type == 'seller') + + @elseif($user->user_type == 'repair') + + @endif
@@ -88,8 +128,4 @@ - - diff --git a/resources/views/frontend/registro-comercio/views/workshops/index.blade.php b/resources/views/frontend/registro-comercio/views/workshops/index.blade.php index 620d8c3f..7c72cadc 100644 --- a/resources/views/frontend/registro-comercio/views/workshops/index.blade.php +++ b/resources/views/frontend/registro-comercio/views/workshops/index.blade.php @@ -222,7 +222,7 @@
- Utilice el número de teléfono en su lugar + Utilice el número de teléfono en su lugar @error('email')
{{ $message }}
@enderror diff --git a/resources/views/frontend/registro-comercio/views/workshops/workshop_complete.blade.php b/resources/views/frontend/registro-comercio/views/workshops/workshop_complete.blade.php new file mode 100644 index 00000000..fe357bc5 --- /dev/null +++ b/resources/views/frontend/registro-comercio/views/workshops/workshop_complete.blade.php @@ -0,0 +1,141 @@ + + + + + + + + + + La Pieza.DO | Registro + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+ +

Bienvenido

+

¡Gracias por registrarte! Para poder completar tu registro,
necesitamos que agregues los siguientes campos de taller:

+ + +
+
+
+
+
+ +
+ {{-- --}} +
+ + + + + + {{-- --}} + + + + + + + + + + diff --git a/resources/views/seller/profile/index.blade.php b/resources/views/seller/profile/index.blade.php index 2d61c5ce..4b4d8dbd 100644 --- a/resources/views/seller/profile/index.blade.php +++ b/resources/views/seller/profile/index.blade.php @@ -82,7 +82,12 @@
@@ -91,7 +96,13 @@
@@ -99,7 +110,11 @@
- + {{-- --}} + + @if(isset($user) && isset($user->shop) && isset($user->shop->bank_name)) + + @endif @error('phone') {{ $message }} @enderror @@ -108,7 +123,10 @@
- + {{-- --}} + @if(isset($user) && isset($user->shop) && isset($user->shop->bank_acc_name)) + + @endif @error('bank_acc_name') {{ $message }} @enderror @@ -117,7 +135,10 @@
- + {{-- --}} + @if(isset($user) && isset($user->shop) && isset($user->shop->bank_acc_no)) + + @endif @error('bank_acc_no') {{ $message }} @enderror @@ -126,7 +147,8 @@
- + {{-- --}} + @error('bank_routing_no') {{ $message }} @enderror diff --git a/routes/web.php b/routes/web.php index 5a5916b9..10f15a63 100644 --- a/routes/web.php +++ b/routes/web.php @@ -91,6 +91,7 @@ Route::prefix('register')->group(function () { // Route::get('buyer/{buyer}/edit', [TypeBuyerController::class, 'edit'])->name('register.buyer.edit'); // Route::put('buyer/{buyer}', [TypeBuyerController::class, 'update'])->name('register.buyer.update'); // Route::delete('buyer/{buyer}', [TypeBuyerController::class, 'destroy'])->name('register.buyer.destroy'); + }); @@ -108,10 +109,13 @@ Route::prefix('register')->group(function () { // Route::get('register/business/{id}/edit', [TypeBusinessController::class, 'edit'])->name('register.business.edit'); // Route::put('register/business/{id}', [TypeBusinessController::class, 'update'])->name('register.business.update'); // Route::delete('register/business/{id}', [TypeBusinessController::class, 'destroy'])->name('register.business.destroy'); + + Route::get('business_complete', [TypeBusinessController::class, 'business_complete_index'])->name('register.business.business_complete_index'); + Route::post('business_store', [TypeBusinessController::class, 'business_complete_store'])->name('register.business.business_complete_store'); }); //esto es para registrar a los usuario de tipo TALLER -Route::resource('register/workshop', TypeWorkshopController::class); +// Route::resource('register/workshop', TypeWorkshopController::class); Route::prefix('register')->group(function () { @@ -124,6 +128,9 @@ Route::prefix('register')->group(function () { // Route::get('workshop/{id}/edit', [TypeWorkshopController::class, 'edit'])->name('register.workshop.edit'); // Route::put('workshop/{id}', [TypeWorkshopController::class, 'update'])->name('register.workshop.update'); // Route::delete('workshop/{id}', [TypeWorkshopController::class, 'destroy'])->name('register.workshop.destroy'); + + Route::get('workshop_complete', [TypeWorkshopController::class, 'workshop_complete_index'])->name('register.workshop.workshop_complete_index'); + Route::post('workshop_store', [TypeWorkshopController::class, 'workshop_complete_store'])->name('register.workshop.workshop_complete_store'); }); //Esto es para verifica la cuenta del usuario que recien se registra @@ -351,8 +358,8 @@ Route::group(['middleware' => ['user', 'verified', 'unbanned']], function () { Route::get('/dashboard', 'dashboard')->name('dashboard')->middleware(['prevent-back-history']); Route::get('/profile', 'profile')->name('profile'); - // - // Route::post('/new-user-verification', 'new_verify')->name('user.new.verify'); + //esto se esta usando en perfil de usuario , no es de verificar cuenta + Route::post('/new-user-verification', 'new_verify')->name('user.new.verify'); Route::post('/new-user-email', 'update_email')->name('user.change.email'); Route::post('/user/update-profile', 'userProfileUpdate')->name('user.profile.update'); }); diff --git a/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php b/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php index 8f2b33ae..90d33433 100644 --- a/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php +++ b/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php @@ -19,12 +19,34 @@ class EnsureEmailIsVerified */ public function handle($request, Closure $next, $redirectToRoute = null) { - if (! $request->user() || - ($request->user() instanceof MustVerifyEmail && - ! $request->user()->hasVerifiedEmail())) { - return $request->expectsJson() - ? abort(403, 'Your email address is not verified.') - : Redirect::guest(URL::route($redirectToRoute ?: 'verification.notice')); + + $user = $request->user(); + + // if ($user && $user->user_type == 'customer' && !$user->email_verified_at) { + // return redirect()->route('shop.view.email.verification'); + // } elseif ($user && $user->user_type == 'seller' && !$user->email_verified_at) { + + // return redirect()->route('shop.view.email.verification'); + + + + // } elseif ($user && $user->user_type == 'repair' && !$user->email_verified_at) { + + // return redirect()->route('shop.view.email.verification'); + + + // } + + if ($user && $user->user_type == 'customer' && !$user->email_verified_at) { + return redirect()->route('shop.view.email.verification'); + } elseif ($user && $user->user_type == 'seller' && !$user->email_verified_at) { + return redirect()->route('shop.view.email.verification'); + } elseif ($user && $user->user_type == 'repair' && !$user->email_verified_at) { + return redirect()->route('shop.view.email.verification'); + } elseif ($user && $user->user_type == 'seller' && $user->email_verified_at && !$user->shop_verified_at) { + return redirect()->route('register.business.business_complete_index'); + } elseif ($user && $user->user_type == 'repair' && $user->email_verified_at && !$user->shop_verified_at) { + return redirect()->route('register.workshop.workshop_complete_index'); } return $next($request);