Skip to content
This repository has been archived by the owner on Feb 4, 2021. It is now read-only.

Commit

Permalink
updates put back into users
Browse files Browse the repository at this point in the history
  • Loading branch information
JPBetley committed Nov 19, 2015
1 parent 3a03379 commit 3ffceb8
Show file tree
Hide file tree
Showing 6 changed files with 89 additions and 10 deletions.
11 changes: 11 additions & 0 deletions app/Http/Controllers/Admin/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,17 @@ public function edit($id)
return view('admin.users.edit', ['roles' => $roles, 'user' => $user]);
}

public function update(Requests\UpdateRequest $request, $id)
{
$user = User::findOrFail($id);
$user->fill($request->all());
$user->username = $request['email'];
$user->save();

return redirect()->route('admin.users.index')
->with('success', 'User Saved!');
}

/**
* Remove the specified resource from storage.
*
Expand Down
30 changes: 30 additions & 0 deletions app/Http/Requests/Admin/User/UpdateRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php namespace WITR\Http\Requests\Admin\User;

use WITR\Http\Requests\Request;

class UpdateRequest extends Request {

/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}

/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required',
'email' => 'required|email'
];
}

}
1 change: 1 addition & 0 deletions app/Http/admin_routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
Route::get('/users/create', ['as' => 'admin.users.create', 'uses' => 'UserController@new_user']);
Route::post('/users/create', ['as' => 'admin.users.create.save', 'uses' => 'UserController@create']);
Route::get('users/{id}', ['as' => 'admin.users.edit', 'uses' => 'UserController@edit']);
Route::put('users/{id}', ['as' => 'admin.users.update', 'uses' => 'UserController@update']);
Route::delete('users/{id}', ['as' => 'admin.users.delete', 'uses' => 'UserController@delete']);

Route::get('/djs', ['as' => 'admin.djs.index', 'uses' => 'DJController@index']);
Expand Down
2 changes: 1 addition & 1 deletion resources/views/admin/djs/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<ul>
@foreach($djs as $dj)
<li>
<a href="{{ route('admin.djs.edit', $dj->id) }}">{{ $dj->name }}</a>
<a href="{{ route('admin.djs.edit', $dj->id) }}">{{ $dj->realname }} : {{ $dj->name }}</a>
</li>
@endforeach
</ul>
Expand Down
21 changes: 13 additions & 8 deletions resources/views/admin/users/edit.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,19 @@
<div class="general_wrap border">
<div class="admin_section">
<h2>Edit User</h2>
<br>
<div>
Name: {{ $user->name }}
</div>
<div>
Email Address: {{ $user->email }}
</div>
<br>
@include('shared.validation-messages')
{!! Form::model($user,['method' => 'put', 'route' => ['admin.users.update', $user->id]]) !!}
<br>
<div>
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name') !!}
</div>
<div>
{!! Form::label('email', 'Email:') !!}
{!! Form::text('email') !!}
</div>
{!! Form::submit('Update User') !!}
{!! Form::close() !!}

{!! Form::open(['method' => 'delete', 'route' => ['admin.users.delete', $user->id], 'class' => 'delete-form']) !!}
{!! Form::submit('Delete User') !!}
Expand Down
34 changes: 33 additions & 1 deletion tests/integration/UserControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ public function it_allows_authorized_access()
$this->visit('/admin/users')
->onPage('/admin/users');
}


/** @test */
public function it_creates_a_user()
Expand Down Expand Up @@ -70,6 +69,39 @@ public function it_validates_a_create_request()
->onPage('/admin/users/create');
}

/** @test */
public function it_updates_a_user()
{
$user = TestDummy::create('WITR\User');
$form = ['name' => 'THIS UPDATED VALUE', 'email' => 'test@example.com'];

$this->beAdmin();
$this->visit('/admin/users/' . $user->id)
->onPage('/admin/users/' . $user->id)
->submitForm('Update User', $form)
->andSee('User Saved!')
->onPage('/admin/users')
->verifyInDatabase('user', $form);
}

/** @test */
public function it_validates_an_update_request()
{
$user = TestDummy::create('WITR\User');
$form = [
'name' => '',
'email' => 'asdfasdf',
];

$this->beAdmin();
$this->visit('/admin/users/' . $user->id)
->onPage('/admin/users/' . $user->id)
->submitForm('Update User', $form)
->andSee('The name field is required')
->andSee('The email must be a valid email address')
->onPage('/admin/users/' . $user->id);
}

/** @test */
public function it_deletes_a_user()
{
Expand Down

0 comments on commit 3ffceb8

Please sign in to comment.