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

Commit

Permalink
Merge pull request #83 from JPBetley/users-to-djs
Browse files Browse the repository at this point in the history
Users to djs
  • Loading branch information
vladionescu committed Nov 21, 2015
2 parents afc941e + 3ffceb8 commit 8ca3ba2
Show file tree
Hide file tree
Showing 14 changed files with 111 additions and 16 deletions.
2 changes: 1 addition & 1 deletion app/DJ.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class DJ extends Model {
*
* @var array
*/
protected $fillable = ['name', 'picture'];
protected $fillable = ['name', 'picture', 'realname'];

protected $uploadDirectories = [
'picture' => '/img/djs/',
Expand Down
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
3 changes: 2 additions & 1 deletion app/Http/Requests/Admin/DJ/CreateRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ public function rules()
{
return [
'picture' => 'sometimes|image',
'name' => 'required'
'name' => 'required',
'realname' => 'required',
];
}

Expand Down
3 changes: 2 additions & 1 deletion app/Http/Requests/Admin/DJ/UpdateRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ public function rules()
{
return [
'picture' => 'sometimes|image',
'name' => 'required'
'name' => 'required',
'realname' => 'required',
];
}

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: 2 additions & 0 deletions database/migrations/2015_11_12_221320_create_djs_table.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public function up()
{
$table->increments('id');
$table->string('name');
$table->string('realname');
$table->string('picture');
$table->timestamps();
});
Expand All @@ -30,6 +31,7 @@ public function up()
'id' => $user->id,
'name' => $user->dj_name,
'picture' => $user->picture,
'realname' => $user->name
]);
}

Expand Down
6 changes: 5 additions & 1 deletion resources/views/admin/djs/create.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@
<div>
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name') !!}
</div>
</div>
<div>
{!! Form::label('realname', 'Real Name:') !!}
{!! Form::text('realname') !!}
</div>
<div>
{!! Form::label('picture', 'Picture: (Note: Pictures should be of size 175x175)') !!}
{!! Form::file('picture') !!}
Expand Down
4 changes: 4 additions & 0 deletions resources/views/admin/djs/edit.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name') !!}
</div>
<div>
{!! Form::label('realname', 'Real Name:') !!}
{!! Form::text('realname') !!}
</div>
<div>
{!! Form::label('picture', 'Picture: (Note: Pictures should be of size 175x175)') !!}
{!! Form::file('picture') !!}
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
3 changes: 2 additions & 1 deletion tests/factories/factories.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,5 +82,6 @@

$factory('WITR\DJ', [
'name' => $faker->name,
'picture' => 'default.jpg'
'picture' => 'default.jpg',
'realname' => $faker->name
]);
5 changes: 4 additions & 1 deletion tests/integration/DJControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ public function it_validates_a_create_request()
{
$form = TestDummy::attributesFor('WITR\DJ', [
'picture' => __DIR__ . '/files/non-dj.pdf',
'name' => ''
'name' => '',
'realname' => ''
]);
unset($form['updated_at']);
unset($form['created_at']);
Expand All @@ -74,6 +75,7 @@ public function it_validates_a_create_request()
->onPage('/admin/djs/create')
->submitForm('Save DJ', $form)
->andSee('The name field is required')
->andSee('The realname field is required')
->andSee('The picture must be an image')
->onPage('/admin/djs/create');
}
Expand All @@ -84,6 +86,7 @@ public function it_updates_an_dj()
Carbon::setTestNow(Carbon::create(2014, 5, 21, 12));
$dj = TestDummy::create('WITR\DJ');
$dj->name = 'THIS VALUE HAS BEEN UPDATED';
$dj->realname = 'THIS VALUE HAS BEEN UPDATED';
$form = $dj->toArray();
unset($form['id']);
unset($form['updated_at']);
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 8ca3ba2

Please sign in to comment.