diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-11-27 15:44:45 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-11-27 15:44:45 -0500 |
commit | d8b0423d152ca27682b001f2c4d386d9c5dd361e (patch) | |
tree | 8b4919d5296b857bcf74e81c8cc06729ddfce5e5 /app/Model | |
parent | 04ff67e26b880dde8bfb6462f312cf434457cd46 (diff) |
Add suggest menu for user mentions in text editor
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/ProjectPermissionModel.php | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/app/Model/ProjectPermissionModel.php b/app/Model/ProjectPermissionModel.php index 25b6a382..dabd406c 100644 --- a/app/Model/ProjectPermissionModel.php +++ b/app/Model/ProjectPermissionModel.php @@ -62,17 +62,33 @@ class ProjectPermissionModel extends Base ->withFilter(new ProjectUserRoleProjectFilter($project_id)) ->withFilter(new ProjectUserRoleUsernameFilter($input)) ->getQuery() - ->findAllByColumn('username'); + ->columns( + UserModel::TABLE.'.id', + UserModel::TABLE.'.username', + UserModel::TABLE.'.name', + UserModel::TABLE.'.email', + UserModel::TABLE.'.avatar_path' + ) + ->findAll(); $groupMembers = $this->projectGroupRoleQuery ->withFilter(new ProjectGroupRoleProjectFilter($project_id)) ->withFilter(new ProjectGroupRoleUsernameFilter($input)) ->getQuery() - ->findAllByColumn('username'); + ->columns( + UserModel::TABLE.'.id', + UserModel::TABLE.'.username', + UserModel::TABLE.'.name', + UserModel::TABLE.'.email', + UserModel::TABLE.'.avatar_path' + ) + ->findAll(); - $members = array_unique(array_merge($userMembers, $groupMembers)); + $userMembers = array_column_index_unique($userMembers, 'username'); + $groupMembers = array_column_index_unique($groupMembers, 'username'); + $members = array_merge($userMembers, $groupMembers); - sort($members); + ksort($members); return $members; } |