Skip to content

Commit

Permalink
Merge pull request #224 from kaphert/allow-passing-team-object
Browse files Browse the repository at this point in the history
Allow to pass the team as object instead of only team name.
Fix #223.
  • Loading branch information
santigarcor committed Nov 28, 2017
2 parents cd9ae10 + 9b696ff commit e5f5c5d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/Helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use Illuminate\Support\Facades\Config;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphPivot;
use Laratrust\Contracts\LaratrustTeamInterface;

class Helper
{
Expand Down Expand Up @@ -69,6 +70,10 @@ public static function fetchTeam($team = null)
if (is_null($team) || !Config::get('laratrust.use_teams')) {
return null;
}

if ($team instanceof LaratrustTeamInterface) {
return $team->getKey();
}

$team = call_user_func_array(
[Config::get('laratrust.models.team'), 'where'],
Expand Down
4 changes: 4 additions & 0 deletions tests/LaratrustUserTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,13 @@ public function testHasPermission()
$this->assertTrue($this->user->hasPermission([]));
$this->assertTrue($this->user->hasPermission('permission_a'));
$this->assertTrue($this->user->hasPermission('permission_b', 'team_a'));
$this->assertTrue($this->user->hasPermission('permission_b', $team));
$this->app['config']->set('laratrust.teams_strict_check', true);
$this->assertFalse($this->user->hasPermission('permission_c'));
$this->app['config']->set('laratrust.teams_strict_check', false);
$this->assertTrue($this->user->hasPermission('permission_c'));
$this->assertTrue($this->user->hasPermission('permission_c', 'team_a'));
$this->assertTrue($this->user->hasPermission('permission_c', $team));
$this->assertTrue($this->user->hasPermission('permission_d'));
$this->assertFalse($this->user->hasPermission('permission_e'));

Expand All @@ -153,11 +155,13 @@ public function testHasPermission()
$this->assertTrue($this->user->hasPermission(['permission_a', 'permission_d'], true));
$this->assertTrue($this->user->hasPermission(['permission_a', 'permission_b', 'permission_d'], true));
$this->assertFalse($this->user->hasPermission(['permission_a', 'permission_b', 'permission_d'], 'team_a', true));
$this->assertFalse($this->user->hasPermission(['permission_a', 'permission_b', 'permission_d'], $team, true));
$this->assertFalse($this->user->hasPermission(['permission_a', 'permission_b', 'permission_e'], true));
$this->assertFalse($this->user->hasPermission(['permission_e', 'permission_f']));

$this->app['config']->set('laratrust.use_teams', false);
$this->assertTrue($this->user->hasPermission(['permission_a', 'permission_b', 'permission_d'], 'team_a', true));
$this->assertTrue($this->user->hasPermission(['permission_a', 'permission_b', 'permission_d'], $team, true));
}

public function testCan()
Expand Down

0 comments on commit e5f5c5d

Please sign in to comment.