diff --git a/app/DJ.php b/app/DJ.php
index bb661d9..30dc6ba 100644
--- a/app/DJ.php
+++ b/app/DJ.php
@@ -13,7 +13,7 @@ class DJ extends Model {
*
* @var array
*/
- protected $fillable = ['name', 'picture'];
+ protected $fillable = ['name', 'picture', 'realname'];
protected $uploadDirectories = [
'picture' => '/img/djs/',
diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php
index 38065c1..ba8b452 100644
--- a/app/Http/Controllers/Admin/UserController.php
+++ b/app/Http/Controllers/Admin/UserController.php
@@ -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.
*
diff --git a/app/Http/Requests/Admin/DJ/CreateRequest.php b/app/Http/Requests/Admin/DJ/CreateRequest.php
index 3469f72..75fd2be 100644
--- a/app/Http/Requests/Admin/DJ/CreateRequest.php
+++ b/app/Http/Requests/Admin/DJ/CreateRequest.php
@@ -23,7 +23,8 @@ public function rules()
{
return [
'picture' => 'sometimes|image',
- 'name' => 'required'
+ 'name' => 'required',
+ 'realname' => 'required',
];
}
diff --git a/app/Http/Requests/Admin/DJ/UpdateRequest.php b/app/Http/Requests/Admin/DJ/UpdateRequest.php
index 3e9bb13..997a11d 100644
--- a/app/Http/Requests/Admin/DJ/UpdateRequest.php
+++ b/app/Http/Requests/Admin/DJ/UpdateRequest.php
@@ -23,7 +23,8 @@ public function rules()
{
return [
'picture' => 'sometimes|image',
- 'name' => 'required'
+ 'name' => 'required',
+ 'realname' => 'required',
];
}
diff --git a/app/Http/Requests/Admin/User/UpdateRequest.php b/app/Http/Requests/Admin/User/UpdateRequest.php
new file mode 100644
index 0000000..1adb757
--- /dev/null
+++ b/app/Http/Requests/Admin/User/UpdateRequest.php
@@ -0,0 +1,30 @@
+ 'required',
+ 'email' => 'required|email'
+ ];
+ }
+
+}
diff --git a/app/Http/admin_routes.php b/app/Http/admin_routes.php
index cc2f9f6..083b949 100644
--- a/app/Http/admin_routes.php
+++ b/app/Http/admin_routes.php
@@ -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']);
diff --git a/database/migrations/2015_11_12_221320_create_djs_table.php b/database/migrations/2015_11_12_221320_create_djs_table.php
index 7e133e5..9058867 100644
--- a/database/migrations/2015_11_12_221320_create_djs_table.php
+++ b/database/migrations/2015_11_12_221320_create_djs_table.php
@@ -19,6 +19,7 @@ public function up()
{
$table->increments('id');
$table->string('name');
+ $table->string('realname');
$table->string('picture');
$table->timestamps();
});
@@ -30,6 +31,7 @@ public function up()
'id' => $user->id,
'name' => $user->dj_name,
'picture' => $user->picture,
+ 'realname' => $user->name
]);
}
diff --git a/resources/views/admin/djs/create.blade.php b/resources/views/admin/djs/create.blade.php
index 378afad..dc5c6b0 100644
--- a/resources/views/admin/djs/create.blade.php
+++ b/resources/views/admin/djs/create.blade.php
@@ -10,7 +10,11 @@
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name') !!}
-
+
+
+ {!! Form::label('realname', 'Real Name:') !!}
+ {!! Form::text('realname') !!}
+
{!! Form::label('picture', 'Picture: (Note: Pictures should be of size 175x175)') !!}
{!! Form::file('picture') !!}
diff --git a/resources/views/admin/djs/edit.blade.php b/resources/views/admin/djs/edit.blade.php
index a210130..443f905 100644
--- a/resources/views/admin/djs/edit.blade.php
+++ b/resources/views/admin/djs/edit.blade.php
@@ -11,6 +11,10 @@
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name') !!}
+
+ {!! Form::label('realname', 'Real Name:') !!}
+ {!! Form::text('realname') !!}
+
{!! Form::label('picture', 'Picture: (Note: Pictures should be of size 175x175)') !!}
{!! Form::file('picture') !!}
diff --git a/resources/views/admin/djs/index.blade.php b/resources/views/admin/djs/index.blade.php
index 44560c5..5fcbb90 100644
--- a/resources/views/admin/djs/index.blade.php
+++ b/resources/views/admin/djs/index.blade.php
@@ -9,7 +9,7 @@
diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php
index 05ac9b1..acf4dc8 100644
--- a/resources/views/admin/users/edit.blade.php
+++ b/resources/views/admin/users/edit.blade.php
@@ -4,14 +4,19 @@
Edit User
-
-
- Name: {{ $user->name }}
-
-
- Email Address: {{ $user->email }}
-
-
+ @include('shared.validation-messages')
+ {!! Form::model($user,['method' => 'put', 'route' => ['admin.users.update', $user->id]]) !!}
+
+
+ {!! Form::label('name', 'Name:') !!}
+ {!! Form::text('name') !!}
+
+
+ {!! Form::label('email', 'Email:') !!}
+ {!! Form::text('email') !!}
+
+ {!! Form::submit('Update User') !!}
+ {!! Form::close() !!}
{!! Form::open(['method' => 'delete', 'route' => ['admin.users.delete', $user->id], 'class' => 'delete-form']) !!}
{!! Form::submit('Delete User') !!}
diff --git a/tests/factories/factories.php b/tests/factories/factories.php
index 44074b7..9d99cab 100644
--- a/tests/factories/factories.php
+++ b/tests/factories/factories.php
@@ -82,5 +82,6 @@
$factory('WITR\DJ', [
'name' => $faker->name,
- 'picture' => 'default.jpg'
+ 'picture' => 'default.jpg',
+ 'realname' => $faker->name
]);
diff --git a/tests/integration/DJControllerTest.php b/tests/integration/DJControllerTest.php
index b680815..843d2f4 100644
--- a/tests/integration/DJControllerTest.php
+++ b/tests/integration/DJControllerTest.php
@@ -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']);
@@ -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');
}
@@ -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']);
diff --git a/tests/integration/UserControllerTest.php b/tests/integration/UserControllerTest.php
index 906ebdf..5d89a31 100644
--- a/tests/integration/UserControllerTest.php
+++ b/tests/integration/UserControllerTest.php
@@ -34,7 +34,6 @@ public function it_allows_authorized_access()
$this->visit('/admin/users')
->onPage('/admin/users');
}
-
/** @test */
public function it_creates_a_user()
@@ -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()
{