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
81887d95
Commit
81887d95
authored
Oct 02, 2020
by
Angello Torres
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Video 38
parent
79e5234b
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
54 additions
and
65 deletions
+54
-65
UserController.php
prueba/app/Http/Controllers/UserController.php
+34
-9
create.blade.php
prueba/resources/views/create.blade.php
+0
-12
layout.blade.php
prueba/resources/views/layout.blade.php
+7
-6
show.blade.php
prueba/resources/views/show.blade.php
+0
-13
users.blade.php
prueba/resources/views/users.blade.php
+0
-22
create.blade.php
prueba/resources/views/users/create.blade.php
+1
-1
index.blade.php
prueba/resources/views/users/index.blade.php
+0
-1
show.blade.php
prueba/resources/views/users/show.blade.php
+8
-0
web.php
prueba/routes/web.php
+4
-1
No files found.
prueba/app/Http/Controllers/UserController.php
View file @
81887d95
...
...
@@ -3,12 +3,13 @@
namespace
App\Http\Controllers
;
use
App\User
;
use
Illuminate\Contracts\View\View
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\DB
;
use
Illuminate\Validation\Rule
;
class
UserController
extends
Controller
{
// Muestra el listado de todos los usuarios
public
function
index
()
{
// Con listado dinámino, tomando datos desde la DB
...
...
@@ -42,11 +43,12 @@ class UserController extends Controller
return
view
(
'users.index'
,
compact
(
'title'
,
'users'
));
}
/*
// Otra forma de para la función show
public function show($id)
{
$user = User::find($id);
Condicional para evitar que el usuario busque un registro inexi
x
tente
Condicional para evitar que el usuario busque un registro inexi
s
tente
if ($user == null){
return view('errors.404');
}
...
...
@@ -54,15 +56,18 @@ class UserController extends Controller
}
*/
// Muestra el detalle del usuario seleccionado
public
function
show
(
User
$user
){
return
view
(
'users.show'
,
compact
(
'user'
));
}
// Hace el llamado a la función store para añadir un nuevo usuario
public
function
create
()
{
return
view
(
'users.create'
);
}
// Añade un nuevo usuarios a la DB
public
function
store
(){
// recibe los campos del formulario y crea un usuario nuevo
...
...
@@ -93,31 +98,51 @@ class UserController extends Controller
]);
return
redirect
()
->
route
(
'users.index'
);
// return 'Procesando información ...';
}
// Hace llamado a la vista con el formulario para actualizar el usuario
public
function
edit
(
User
$user
)
{
return
view
(
'users.edit'
,
[
'user'
=>
$user
]);
}
// Actualiza los usuarios
public
function
update
(
User
$user
){
$data
=
request
()
->
validate
([
'name'
=>
'required'
,
// 'email' => 'required|email|unique:users,email', // Con | puedes tener más de una regla, o pasando un array ['required', 'email', '...']
'password'
=>
[
'required'
,
'min:6'
],
// Al actualizar se deja conservar el email del usuario
// 'email' => 'required|email|unique:users,email,'.$user->id,
// Con la nueva sintaxis de laravel Rule
'email'
=>
[
'required'
,
'email'
,
Rule
::
unique
(
'users'
)
->
ignore
(
$user
->
id
)],
'password'
=>
''
,
// El password no tiene que ser requerido
],
[
'name.required'
=>
'El campo "Nombre del usuario" es requerido'
,
'email.required'
=>
'El campo "Email" es requerido'
,
'email.unique'
=>
'Otro usuario stá usando el email, este debe ser único'
,
'password.required'
=>
'El campo "Tu password" es requerido'
,
'password.min'
=>
'El campo "Tu password" debe tener al menos 6 caracteres'
,
//
'password.required' => 'El campo "Tu password" es requerido',
//
'password.min' => 'El campo "Tu password" debe tener al menos 6 caracteres',
]);
$data
[
'password'
]
=
bcrypt
(
$data
[
'password'
]);
/*
Condicional que se encarga de mira el password, para que el usuario que esté actualizando datos no este obligado a cambiar su password
*/
if
(
$data
[
'password'
]
!=
null
)
{
$data
[
'password'
]
=
bcrypt
(
$data
[
'password'
]);
}
else
{
unset
(
$data
[
'password'
]);
// Quita el indice password del array asociativo
}
$user
->
update
(
$data
);
return
redirect
()
->
route
(
'user
.show'
,
[
'U
ser'
=>
$user
]);
return
redirect
()
->
route
(
'user
s.show'
,
[
'u
ser'
=>
$user
]);
}
// Método para la eliminación de un usuario
public
function
destroy
(
User
$user
){
$user
->
delete
();
return
redirect
()
->
route
(
'users.index'
);
}
}
prueba/resources/views/create.blade.php
deleted
100644 → 0
View file @
79e5234b
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge"
>
<title>
Document
</title>
</head>
<body>
<p>
Crear nuevo usuario
</p>
</body>
</html>
prueba/resources/views/layout.blade.php
View file @
81887d95
...
...
@@ -42,15 +42,16 @@
</button>
<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 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 active"
>
<a
class=
"nav-link"
href=
"{{ route('users.create') }}"
>
Nuevo Usuario
<span
class=
"sr-only"
>
(current)
</span></a
>
</li
>
</ul>
</div>
</nav>
...
...
prueba/resources/views/show.blade.php
deleted
100644 → 0
View file @
79e5234b
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge"
>
<title>
Show
</title>
</head>
<body>
<p>
Mostrado detalle del usuario: {{ $id }}
</p>
</body>
</html>
prueba/resources/views/users.blade.php
deleted
100644 → 0
View file @
79e5234b
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<title>
Document
</title>
</head>
<body>
<h1>
<?=
e
(
$title
)
?>
</h1>
<hr>
@if (! empty($users))
<ul>
@foreach ($users as $user)
<li>
{{ $user }}
</li>
@endforeach
</ul>
@else
<p>
No hay usuarios registrados
</p>
@endif
</body>
</html>
prueba/resources/views/users/create.blade.php
View file @
81887d95
...
...
@@ -20,7 +20,7 @@
@endif
--}}
<form action="
{{
route
(
'users.store'
)
}}
" method="
post
">
<form action="
{{
url
(
'usuarios'
)
}}
" 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
">
...
...
prueba/resources/views/users/index.blade.php
View file @
81887d95
...
...
@@ -24,7 +24,6 @@
con
rutas
(
name
),
estas
estan
definidas
en
routes
/
web
.
php
-->
<
a
href
=
"{{ route('users.show', ['id' =>
$user->id
]) }}"
>
Ver
detalle
</
a
>
<
a
href
=
"{{ route('users.edit', ['id' =>
$user->id
]) }}"
>
Actualizar
usuario
</
a
>
</
li
>
@
empty
<
p
>
No
hay
usuarios
registrados
</
p
>
...
...
prueba/resources/views/users/show.blade.php
View file @
81887d95
...
...
@@ -20,6 +20,14 @@
@
index
=
Apunta
a
la
function
index
()
-->
</
p
>
<
p
>
<
a
href
=
"{{ route('users.edit',
$user
) }}"
>
Editar
usuario
</
a
>
{{
--
Se
pasa
solo
el
modelo
de
eloquent
--
}}
</
p
>
<
form
action
=
"{{ route('users.destroy',
$user
) }}"
method
=
"post"
>
{{
csrf_field
()
}}
{{
method_field
(
'DELETE'
)
}}
<
button
class
="
btn
btn
-
primary
" type="
submit
">Eliminar usuario</button>
</form>
@endsection
prueba/routes/web.php
View file @
81887d95
...
...
@@ -37,6 +37,9 @@ Route::get('/usuarios/{user}/editar', 'UserController@edit')->name('users.edit')
Route
::
post
(
'/usuarios'
,
'UserController@store'
)
->
name
(
'users.store'
);
// Ruta para la actualzación en DB de los datos
Route
::
put
(
'/usuarios/{user}'
,
'UserController@update'
);
Route
::
put
(
'/usuarios/{user}'
,
'UserController@update'
)
->
name
(
'users.update'
);
Route
::
delete
(
'usuarios/{user}'
,
'UserController@destroy'
)
->
name
(
'users.destroy'
);
Route
::
get
(
'/saludo/{name}/{nickname?}'
,
'welcomeUserController'
);
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