Add dropdown menu to autocomplete email field from project members
This commit is contained in:
@@ -85,7 +85,13 @@ class ProjectGroupRoleModel extends Base
|
||||
public function getUsers($project_id)
|
||||
{
|
||||
return $this->db->table(self::TABLE)
|
||||
->columns(UserModel::TABLE.'.id', UserModel::TABLE.'.username', UserModel::TABLE.'.name', self::TABLE.'.role')
|
||||
->columns(
|
||||
UserModel::TABLE.'.id',
|
||||
UserModel::TABLE.'.username',
|
||||
UserModel::TABLE.'.name',
|
||||
UserModel::TABLE.'.email',
|
||||
self::TABLE.'.role'
|
||||
)
|
||||
->join(GroupMemberModel::TABLE, 'group_id', 'group_id', self::TABLE)
|
||||
->join(UserModel::TABLE, 'id', 'user_id', GroupMemberModel::TABLE)
|
||||
->eq(self::TABLE.'.project_id', $project_id)
|
||||
|
||||
@@ -93,6 +93,24 @@ class ProjectPermissionModel extends Base
|
||||
return $members;
|
||||
}
|
||||
|
||||
public function getMembers($project_id)
|
||||
{
|
||||
$userMembers = $this->projectUserRoleModel->getUsers($project_id);
|
||||
$groupMembers = $this->projectGroupRoleModel->getUsers($project_id);
|
||||
|
||||
$userMembers = array_column_index_unique($userMembers, 'username');
|
||||
$groupMembers = array_column_index_unique($groupMembers, 'username');
|
||||
return array_merge($userMembers, $groupMembers);
|
||||
}
|
||||
|
||||
public function getMembersWithEmail($project_id)
|
||||
{
|
||||
$members = $this->getMembers($project_id);
|
||||
return array_filter($members, function (array $user) {
|
||||
return ! empty($user['email']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if everybody is allowed for the project
|
||||
*
|
||||
|
||||
@@ -98,7 +98,13 @@ class ProjectUserRoleModel extends Base
|
||||
public function getUsers($project_id)
|
||||
{
|
||||
return $this->db->table(self::TABLE)
|
||||
->columns(UserModel::TABLE.'.id', UserModel::TABLE.'.username', UserModel::TABLE.'.name', self::TABLE.'.role')
|
||||
->columns(
|
||||
UserModel::TABLE.'.id',
|
||||
UserModel::TABLE.'.username',
|
||||
UserModel::TABLE.'.name',
|
||||
UserModel::TABLE.'.email',
|
||||
self::TABLE.'.role'
|
||||
)
|
||||
->join(UserModel::TABLE, 'id', 'user_id')
|
||||
->eq('project_id', $project_id)
|
||||
->asc(UserModel::TABLE.'.username')
|
||||
|
||||
Reference in New Issue
Block a user