Merge pull request #14 from lapieza-dev/alejandro

Alejandro a main
This commit is contained in:
Jose Sanchez
2023-08-22 17:00:38 -04:00
committed by GitHub
5 changed files with 96 additions and 31 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Mail\VerificationEmail;
use App\Models\Category;
use App\Models\Shop;
use App\Models\User;
use Illuminate\Http\Request;
@@ -23,7 +24,10 @@ class TypeBusinessController extends Controller
*/
public function index()
{
return view('frontend.registro-comercio.views.business.index');
$categories = Category::all();
return view('frontend.registro-comercio.views.business.index', compact('categories'));
}
@@ -47,41 +51,45 @@ class TypeBusinessController extends Controller
{
// Validación de los campos de registro
$validator = Validator::make($request->all(), [
'email' => ['required', 'string', 'email', 'max:255', 'unique:'.User::class],
'name' => ['required'],
'address' => ['required'],
'categories_id' => ['required'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:'.User::class, 'regex:/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.(com|do|net|com.do)$/'],
'password' => ['required', 'confirmed', Password::defaults()],
'terms' => ['required'], // Agrega esta línea para hacer el campo 'terms' requerido
'g-recaptcha-response' => ['required', function ($attribute, $value, $fail) {
$recaptcha = new Recaptcha(env('RECAPTCHA_SECRET_KEY'));
$recaptcha->verify($value);
}],
]);
if ($validator->fails()) {
// Si la validación falla, puedes redirigir o devolver una respuesta con los errores
return redirect()->back()->withErrors($validator)->withInput();
}
// if ($validator->fails()) {
// // Si la validación falla, puedes redirigir o devolver una respuesta con los errores
// return redirect()->back()->withErrors($validator)->withInput();
// }
$confirmation_code = Str::random(25);
// $confirmation_code = Str::random(25);
$user = new User();
$user->email = $request->input('email');
$user->password = Hash::make($request->input('password'));
$user->user_type = 'seller';
$user->confirmation_code = $confirmation_code;
$user->save();
// $user = new User();
// $user->email = $request->input('email');
// $user->password = Hash::make($request->input('password'));
// $user->user_type = 'seller';
// $user->confirmation_code = $confirmation_code;
// $user->save();
Mail::to($user->email)->send(new VerificationEmail($user));
// Mail::to($user->email)->send(new VerificationEmail($user));
// Intentar iniciar sesión automáticamente
if (Auth::attempt($request->only('email', 'password'))) {
if (Auth::user()->email_verified_at) {
// La cuenta está verificada, redirige a la página deseada
return redirect()->route('shop.view.signup.complete');
} else {
// La cuenta no está verificada, redirige a la página de verificación de correo electrónico
return redirect()->route('shop.view.email.verification');
}
}
// // Intentar iniciar sesión automáticamente
// if (Auth::attempt($request->only('email', 'password'))) {
// if (Auth::user()->email_verified_at) {
// // La cuenta está verificada, redirige a la página deseada
// return redirect()->route('shop.view.signup.complete');
// } else {
// // La cuenta no está verificada, redirige a la página de verificación de correo electrónico
// return redirect()->route('shop.view.email.verification');
// }
// }
}
/**

View File

@@ -196,10 +196,10 @@ a {
a,
a:hover,
a:focus {
text-decoration: none;
/* text-decoration: none;
display: inline-block;
color: inherit;
outline: none;
outline: none; */
}
textarea {

View File

@@ -586,7 +586,7 @@
font-weight: 700;
color: #1c2437;
font-family: "Roboto", sans-serif;
text-transform: uppercase;
/* text-transform: uppercase; */
}
.ugf-content form .form-group .form-control {
height: 60px;

View File

@@ -170,7 +170,7 @@ return [
'minute' => 'minuto',
'mobile' => 'móvil',
'month' => 'mes',
'name' => 'Nombre',
'name' => 'nombre',
'password' => 'contraseña',
'password_confirmation' => 'confirmación de la contraseña',
'phone' => 'teléfono',
@@ -234,7 +234,8 @@ return [
'nfc_amount' => 'Cantidad de comprobantes',
'nfc_next' => 'Próximo NFC a emitir',
'nfc_select' => 'Estado de NFC',
'g-recaptcha-response' => 'reCAPTCHA'
'g-recaptcha-response' => 'reCAPTCHA',
'categories_id' => 'categoría'
],
];

View File

@@ -218,6 +218,10 @@
<div class="container">
<div class="form-row col-md-9">
<h5>Perfil de usuario</h5>
<div class="border border-vertical mb-4"></div>
<div class="form-group mb-4">
<label for="email" id="emailLabel">Correo Electrónico</label>
<input type="email" name="email" id="email" placeholder="{{ __('Email') }}" class="form-control email @error('email') is-invalid @enderror" value="{{ old('email') }}">
@@ -243,6 +247,58 @@
@enderror
</div>
<h5>Datos del negocio</h5>
<div class="border border-vertical mb-4"></div>
<!-- Aquí va el título "Datos de negocio" -->
<div class="form-group mb-4">
<label for="categories_id" id="categoryLabel">Categoría del negocio</label>
<select name="categories_id" class="form-control @error('categories_id') is-invalid @enderror" id="categories_id">
<option value="" {{ old('categories_id') == '' ? 'selected' : '' }}>Seleccione una categoría</option>
@foreach ($categories as $category)
<option value="{{ $category->value }}" {{ old('categories_id', optional($category->value)) == $category->value ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
@error('categories_id')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="form-group mb-4">
<label for="name" id="nameLabel">Nombre de la tienda</label>
<input type="text" name="name" id="name" placeholder="Nombre" class="form-control name @error('name') is-invalid @enderror" value="{{ old('name') }}">
@error('name')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="form-group mb-4">
<label for="address" id="addressLabel">Dirección</label>
<input type="text" name="address" id="address" placeholder="Dirección" class="form-control address @error('address') is-invalid @enderror" value="{{ old('address') }}">
@error('address')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="form-group mb-4">
<div class="form-check">
<input class="form-check-input @error('terms') is-invalid @enderror" type="checkbox" name="terms" id="terms" value="1" {{ old('terms') ? 'checked' : '' }}>
<label>
Estoy de acuerdo con la <a href="{{ route('terms') }}" target="_blank">Términos y Condiciones</a>, <a href="{{ route('returnpolicy') }}" target="_blank">Política de Devoluciones</a> & <a href="{{ route('privacypolicy') }}" target="_blank">Política de Privacidad</a>
</label>
</div>
@if ($errors->has('terms'))
{{ $errors->first('terms') }}
<p style="font-size: 80%;" class="text-danger">{{ $errors->first('terms') }}</p>
@endif
</div>
<div class="form-group mb-4">
<div class="g-recaptcha" data-sitekey="{{ env('RECAPTCHA_SITE_KEY') }}"></div>
@@ -273,7 +329,7 @@
<div class="form-group mb-4">
<label for="inputMail" id="phoneLabel">Teléfono</label>
<input type="number" placeholder="Teléfono" class="form-control phone" required>
<a id="emailLink" style="text-decoration: underline; margin-left: 250px;" href="#">Utilice el correo electrónico en su lugar</a>
<a id="emailLink" style="text-decoration: underline;" href="#">Utilice el correo electrónico en su lugar</a>
</div>
<div class="form-group mb-4">