示例#1
0
文件: User.php 项目: samwilson/ormic
 public function onCreated(User $user)
 {
     if (User::count() == 1 && !$user->isAdmin()) {
         $attrs = array('name' => 'Administrator');
         $adminRole = Role::where($attrs)->first();
         if (!$adminRole) {
             $adminRole = new Role($attrs);
             $adminRole->setUser($user);
             $adminRole->save();
         }
         $user->roles()->attach($adminRole->id);
     }
     $user->setUser($user);
 }
示例#2
0
 /**
  * @testdox The first user to log in is made an Administrator, and can edit users' roles.
  */
 public function firstUser()
 {
     // Start with 0 users.
     $this->assertEquals(0, User::count());
     // Save a first user, and they should be made an admin.
     $user1 = new User();
     $user1->username = '******';
     $user1->save();
     $this->assertTrue($user1->hasRole('Administrator'));
     $this->assertTrue($user1->isAdmin());
     $this->assertEquals(1, User::count());
     // Check that resaving the first user doesn't break this (like it was doing).
     $user1->username = '******';
     $user1->save();
     $this->assertTrue($user1->isAdmin());
     $this->assertEquals(1, User::count());
     // Save a second user, and they shouldn't be an admin.
     $user2 = new User();
     $user2->username = '******';
     $user2->save();
     $this->assertFalse($user2->hasRole('Administrator'));
     $this->assertFalse($user2->isAdmin());
     $this->assertTrue($user1->isAdmin());
     $this->assertEquals(2, User::count());
 }