Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
git-testing
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
seti
git-testing
Commits
86fab311
Commit
86fab311
authored
Sep 30, 2020
by
Angello Torres
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add formulario para la creación de nuevos clientes
parent
df12ea79
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
138 additions
and
21 deletions
+138
-21
UserController.php
prueba/app/Http/Controllers/UserController.php
+30
-1
layout.blade.php
prueba/resources/views/layout.blade.php
+7
-16
create.blade.php
prueba/resources/views/users/create.blade.php
+53
-0
web.php
prueba/routes/web.php
+9
-1
pruebaTest.php
prueba/tests/Feature/pruebaTest.php
+39
-3
No files found.
prueba/app/Http/Controllers/UserController.php
View file @
86fab311
...
...
@@ -57,6 +57,35 @@ class UserController extends Controller
public
function
create
()
{
return
view
(
'create'
);
return
view
(
'users.create'
);
}
public
function
store
(){
// recibe los campos del formulario y crea un usuario nuevo
// $data = request()->all(); // recoge todos los campos son validar nada
/*
* Con los datos validados, el método validate() recibe un array asociativo con todas las validaciones,
* se puede mandar otro array con los mensajes que se quieran mostar, donde las llaves son los nombres de los
* campos.nombreValidación (name.required) y los valores son los mensajes
*/
$data
=
request
()
->
validate
([
'name'
=>
'required'
,
// 'email' => '',
// 'password' => '',
],
[
'name.required'
=>
'El campo "Nombre del usuario" es requerido'
]);
User
::
create
([
'name'
=>
$data
[
'name'
],
'email'
=>
$data
[
'email'
],
'password'
=>
bcrypt
(
$data
[
'password'
]),
]);
return
redirect
()
->
route
(
'users.index'
);
// return 'Procesando información ...';
}
}
prueba/resources/views/layout.blade.php
View file @
86fab311
...
...
@@ -43,24 +43,15 @@
<div
class=
"collapse navbar-collapse"
id=
"navbarCollapse"
>
<ul
class=
"navbar-nav mr-auto"
>
<li
class=
"nav-item active"
>
<a
class=
"nav-link"
href=
"{{ route('users.index') }}"
>
Usuarios
<span
class=
"sr-only"
>
(current)
</span></a>
<a
class=
"nav-link"
href=
"{{ route('users.index') }}"
>
Usuarios Registrados
<span
class=
"sr-only"
>
(current)
</span></a>
<!--
</li>
<li class="nav-item active">
<a class="nav-link" href="{{ route('users.store') }}">Nuevo Usuario<span class="sr-only">(current)</span></a>
</li>
</ul>
<!--
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
-->
-->
</ul>
<!--
<form class="form-inline mt-2 mt-md-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
-->
</div>
</nav>
</header>
...
...
@@ -88,7 +79,7 @@
<footer
class=
"footer mt-auto py-3"
>
<div
class=
"container"
>
<span
class=
"text-muted"
>
Place sticky footer content here.
</span>
<span
class=
"text-muted"
>
Turtorial de laravel
</span>
</div>
</footer>
<script
src=
"https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity=
"sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin=
"anonymous"
></script>
...
...
prueba/resources/views/users/create.blade.php
0 → 100644
View file @
86fab311
@
extends
(
'layout'
)
@
section
(
'title'
,
"Crear usuario"
)
@
section
(
'content'
)
<
h1
>
Crear
usuario
</
h1
>
<!--
Saber
si
se
tiene
algún
error
enel
formulario
-->
@
if
(
$errors
->
any
())
<
div
class
="
alert
alert
-
danger
">
<p>Por favor corrige los siguiente errores:</p>
<ul>
@foreach(
$errors->all
() as
$error
)
<li>{{
$error
}}</li>
@endforeach
</ul>
</div>
@endif
<form action="
{{
route
(
'users.store'
)}}
" method="
post
">
<!--
Add _token (es un input type="
hidden
" que envia info que solo nuestro serve sabe) para evitar ataques de tipo CSRF
<input type="
hidden
" name="
_token
" value="
F3hukPNtUeW02l3URoLgyM1pd4uQPWazQrSaXQ8h
">
-->
{
{csrf_field()}
}
<!--
Para desactivar el csrf_field() se debe ir a /app/Http/kernel.php
Por la línea 36 aprox. \App\Http\Middleware\VerifyCsrfToken::class
-->
<div class="
form
-
group
">
<label for="
name
">Nombre del usuario: </label>
<input type="
text
" class="
form
-
control
" name="
name
" id="
name
" placeholder="
Nombres
apellidos
" value="
{{
old
(
'name'
)
}}
">
</div>
<div class="
form
-
group
">
<label for="
email
">Email:</label>
<input type="
email
" class="
form
-
control
" name="
email
" id="
email
" placeholder="
usuario
@
example
.
com
" value="
{{
old
(
'email'
)
}}
">
</div>
<div class="
form
-
group
">
<label for="
passwords
">Tu password</label>
<input type="
password
" class="
form
-
control
" name="
password
" id="
passwords
" placeholder="
Mayor
a
6
caracteres
">
</div>
<button class="
btn
btn
-
primary
" type="
submit
">Crear usuario</button>
</form>
<p>
<a href="
{{
route
(
'users.index'
)
}}
">Regresar al listado de usurios</a>
</p>
@endsection
prueba/routes/web.php
View file @
86fab311
...
...
@@ -23,8 +23,16 @@ Route::get('/usuarios', 'UserController@index')
Route
::
get
(
'/usuarios/detalle/{id}'
,
'UserController@show'
)
->
where
(
'id'
,
'[0-9]+'
)
->
name
(
'users.show'
);
// Rutas par la creación de usuarios - Métodos get / post
/*
* get -> Solicitar y obtener información
* post -> Enviar y procesar información
*
*/
Route
::
get
(
'/usuarios/nuevo'
,
'UserController@create'
)
->
name
(
'users.create'
);
Route
::
post
(
'/usuarios/crear'
,
'UserController@store'
)
->
name
(
'users.store'
);
Route
::
get
(
'/saludo/{name}/{nickname?}'
,
'welcomeUserController'
);
prueba/tests/Feature/pruebaTest.php
View file @
86fab311
...
...
@@ -6,27 +6,63 @@ use Tests\TestCase;
class
pruebaTest
extends
TestCase
{
/** @test */
// /** @test */
/*
function usuariosTest()
{
$this->get('/usuarios')
->assertStatus(200)
->assertSee('Listado de usuarios');
}
*/
/** @test */
// /** @test */
/*
function detalleUsuarioTest()
{
$this->get('/usuarios/52')
->assertStatus(200)
->assertSee('Mostrado detalle del usuario: 5');
}
*/
/** @test */
// /** @test */
/*
public function nuevoUsuarioTest()
{
$this->get('/usuarios/nuevo')
->assertStatus(200)
->assertSee('Crear nuevo usuario');
}
*/
/** @test */
function
it_create_new_user
(){
$this
->
post
(
'/usuarios/'
,
[
'name'
=>
'Duilio'
,
'email'
=>
'duilio@styde.net'
,
'password'
=>
'123456'
,
]);
// ->assertSee('Procesando información ...');
$this
->
assertDatabaseHas
(
'users'
,
[
'name'
=>
'Duilio Palacios'
,
'email'
=>
'duilio@sryde.net'
,
]);
}
/** @test */
function
the_name_is_required
(){
// $this->withoutExceptionHandling();
$this
->
post
(
'usuarios'
,
[
'email'
=>
'duilio@styde.net'
,
'password'
=>
'123456'
,
]);
//->assertRedirect('usuarios/nuevo')
//->assertSessionHasErrors(['name']);
$this
->
assertDatabaseMissing
(
'users'
,
[
'email'
=>
'duilio@styde.net'
,
]);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment