Add pagination for users page

This commit is contained in:
Frédéric Guillot
2014-10-25 15:44:38 -04:00
parent 471736bf8c
commit 45b5e8b879
5 changed files with 114 additions and 17 deletions

View File

@@ -138,10 +138,64 @@ class User extends Base
return $this->db
->table(self::TABLE)
->asc('username')
->columns('id', 'username', 'name', 'email', 'is_admin', 'default_project_id', 'is_ldap_user', 'notifications_enabled', 'google_id', 'github_id')
->columns(
'id',
'username',
'name',
'email',
'is_admin',
'default_project_id',
'is_ldap_user',
'notifications_enabled',
'google_id',
'github_id'
)
->findAll();
}
/**
* Get all users with pagination
*
* @access public
* @param integer $offset Offset
* @param integer $limit Limit
* @param string $column Sorting column
* @param string $direction Sorting direction
* @return array
*/
public function paginate($offset = 0, $limit = 25, $column = 'username', $direction = 'ASC')
{
return $this->db
->table(self::TABLE)
->columns(
'id',
'username',
'name',
'email',
'is_admin',
'default_project_id',
'is_ldap_user',
'notifications_enabled',
'google_id',
'github_id'
)
->offset($offset)
->limit($limit)
->orderBy($column, $direction)
->findAll();
}
/**
* Get the number of users
*
* @access public
* @return integer
*/
public function count()
{
return $this->db->table(self::TABLE)->count();
}
/**
* List all users (key-value pairs with id/username)
*