Team members

Signed-off-by: Graham Campbell <graham@mineuk.com>
This commit is contained in:
James Brooks
2015-01-04 19:06:08 +00:00
committed by Graham Campbell
parent 2790218530
commit b6596e722d
9 changed files with 256 additions and 3 deletions
@@ -3,7 +3,10 @@
namespace CachetHQ\Cachet\Http\Controllers;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\User;
use GrahamCampbell\Binput\Facades\Binput;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\View;
class DashboardController extends Controller
@@ -23,6 +26,80 @@ class DashboardController extends Controller
]);
}
/**
* Shows the team members view.
*
* @return \Illuminate\View\View
*/
public function showTeamView()
{
$team = User::all();
return View::make('dashboard.team.index')->with([
'pageTitle' => 'Team Members - Dashboard',
'teamMembers' => $team,
]);
}
/**
* Shows the edit team member view.
*
* @return \Illuminate\View\View
*/
public function showTeamMemberView(User $user)
{
return View::make('dashboard.team.edit')->with([
'pageTitle' => 'Edit User - Dashboard',
'user' => $user,
]);
}
/**
* Shows the add team member view.
*
* @return \Illuminate\View\View
*/
public function showAddTeamMemberView()
{
return View::make('dashboard.team.new')->with([
'pageTitle' => 'Add User - Dashboard',
]);
}
/**
* Creates a new team member.
*
* @return \Illuminate\Http\RedirectResponse
*/
public function postAddUser()
{
$user = User::create(Binput::all());
if ($user->isValid()) {
return Redirect::back()->with('created', $user->isValid());
} else {
return Redirect::back()
->withInput(Binput::except('password'))
->with('errors', $user->getErrors());
}
}
/**
* Updates a user.
*
* @param \CachetHQ\Cachet\Models\User $user
*
* @return \Illuminate\View\View
*/
public function postUpdateUser(User $user)
{
$items = Binput::all();
$updated = $user->update($items);
return Redirect::back()->with('updated', $updated);
}
/**
* Shows the metrics view.
*
+24 -2
View File
@@ -9,6 +9,7 @@ use Illuminate\Auth\UserTrait;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Facades\Hash;
use Watson\Validating\ValidatingTrait;
/**
* @property int $id
@@ -23,7 +24,18 @@ use Illuminate\Support\Facades\Hash;
*/
class User extends Model implements UserInterface, RemindableInterface
{
use UserTrait, RemindableTrait;
use RemindableTrait, UserTrait, ValidatingTrait;
/**
* The validation rules.
*
* @var string[]
*/
protected $rules = [
'username' => 'required|alpha|unique:users',
'email' => 'required|email|unique:users',
'password' => 'required',
];
/**
* The hidden properties.
@@ -37,7 +49,7 @@ class User extends Model implements UserInterface, RemindableInterface
/**
* The properties that cannot be mass assigned.
*
* @var array
* @var string[]
*/
protected $guarded = [];
@@ -111,4 +123,14 @@ class User extends Model implements UserInterface, RemindableInterface
{
return str_random(20);
}
/**
* Returns whether a user is at admin level.
*
* @return bool
*/
public function getIsAdminAttribute()
{
return (bool) $this->level;
}
}