Skip to content

Commit

Permalink
Updating the package
Browse files Browse the repository at this point in the history
 * Adding constants & scopes for Role Model
 * Fixing `User::isAdmin()` method
 * Refactoring and other stuff
arcanedev-maroc committed Sep 1, 2016
1 parent 5b21d24 commit dd37c86
Showing 4 changed files with 42 additions and 6 deletions.
4 changes: 1 addition & 3 deletions src/Http/Middleware/VerifyAdministrator.php
Original file line number Diff line number Diff line change
@@ -54,9 +54,7 @@ public function handle($request, Closure $next)
/** @var \Arcanedev\LaravelAuth\Models\User $user */
$user = $this->auth->user();

if ($user->isAdmin()) {
return $next($request);
}
if ($user->isAdmin()) return $next($request);
}

return response('Unauthorized.', 401);
39 changes: 39 additions & 0 deletions src/Models/Role.php
Original file line number Diff line number Diff line change
@@ -1,15 +1,54 @@
<?php namespace Arcanesoft\Auth\Models;

use Arcanedev\LaravelAuth\Models\Role as BaseRoleModel;
use Illuminate\Database\Eloquent\Builder;

/**
* Class Role
*
* @package Arcanesoft\Auth\Models
* @author ARCANEDEV <[email protected]>
*
* @method static \Illuminate\Database\Eloquent\Builder admins()
* @method static \Illuminate\Database\Eloquent\Builder members()
*/
class Role extends BaseRoleModel
{
/* ------------------------------------------------------------------------------------------------
| Constants
| ------------------------------------------------------------------------------------------------
*/
const ADMINISTRATOR = 'administrator';
const MEMBER = 'member';

/* ------------------------------------------------------------------------------------------------
| Scopes
| ------------------------------------------------------------------------------------------------
*/
/**
* Scope only admin roles.
*
* @param \Illuminate\Database\Eloquent\Builder $query
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeAdmins(Builder $query)
{
return $query->where('slug', Role::ADMINISTRATOR);
}

/**
* Scope only admin roles.
*
* @param \Illuminate\Database\Eloquent\Builder $query
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeMembers(Builder $query)
{
return $query->where('slug', Role::MEMBER);
}

/* ------------------------------------------------------------------------------------------------
| Getters & Setters
| ------------------------------------------------------------------------------------------------
2 changes: 1 addition & 1 deletion src/Models/User.php
Original file line number Diff line number Diff line change
@@ -95,6 +95,6 @@ public static function firstHashedOrFail($hashedId)
*/
public function isAdmin()
{
return parent::isAdmin() || $this->is('administrator');
return parent::isAdmin() || $this->hasRoleSlug(Role::ADMINISTRATOR);
}
}
3 changes: 1 addition & 2 deletions src/Seeds/Foundation/UserTableSeeder.php
Original file line number Diff line number Diff line change
@@ -36,8 +36,7 @@ public function run()
private function seedAdminUser()
{
/** @var Role $adminRole */
$adminRole = Role::where('slug', 'administrator')->first();

$adminRole = Role::admins()->first();
$adminUser = new User([
'username' => 'admin',
'first_name' => 'Super',

0 comments on commit dd37c86

Please sign in to comment.