Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
iv
gitlab-ce
Commits
77d63289
Commit
77d63289
authored
Dec 18, 2012
by
Valeriy Sizov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactoring gfm_autocomplete
parent
aa8d4d9f
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
28 deletions
+22
-28
app/assets/javascripts/gfm_auto_complete.js.coffee
app/assets/javascripts/gfm_auto_complete.js.coffee
+7
-27
doc/api/projects.md
doc/api/projects.md
+1
-0
lib/api/projects.rb
lib/api/projects.rb
+6
-1
spec/requests/api/projects_spec.rb
spec/requests/api/projects_spec.rb
+8
-0
No files found.
app/assets/javascripts/gfm_auto_complete.js.coffee
View file @
77d63289
...
...
@@ -13,7 +13,6 @@ GitLab.GfmAutoComplete =
url
:
''
params
:
private_token
:
''
page
:
1
template
:
'<li data-value="${username}">${username} <small>${name}</small></li>'
# Add GFM auto-completion to all input fields, that accept GFM input.
...
...
@@ -29,30 +28,11 @@ GitLab.GfmAutoComplete =
input
.
atWho
'@'
,
tpl
:
@
Members
.
template
callback
:
(
query
,
callback
)
=>
(
getMoreMembers
=
=>
$
.
getJSON
(
@
Members
.
url
,
@
Members
.
params
).
done
(
members
)
=>
# pick the data we need
newMembersData
=
$
.
map
(
members
,
(
m
)
->
username
:
m
.
username
request_params
=
$
.
extend
({},
@
Members
.
params
,
query
:
query
)
$
.
getJSON
(
@
Members
.
url
,
request_params
).
done
(
members
)
=>
new_members_data
=
$
.
map
(
members
,
(
m
)
->
username
:
m
.
username
,
name
:
m
.
name
)
callback
(
new_members_data
)
# add the new page of data to the rest
$
.
merge
(
@
Members
.
data
,
newMembersData
)
# show the pop-up with a copy of the current data
callback
(
@
Members
.
data
[..])
# are we past the last page?
if
newMembersData
.
length
is
0
# set static data and stop callbacks
input
.
atWho
'@'
,
data
:
@
Members
.
data
callback
:
null
else
# get next page
getMoreMembers
()
# so the next callback requests the next page
@
Members
.
params
.
page
+=
1
).
call
()
doc/api/projects.md
View file @
77d63289
...
...
@@ -126,6 +126,7 @@ GET /projects/:id/members
Parameters:
+
`id`
(required) - The ID or code name of a project
+
`query`
- Query string
## Get project team member
...
...
lib/api/projects.rb
View file @
77d63289
...
...
@@ -57,10 +57,15 @@ module Gitlab
#
# Parameters:
# id (required) - The ID or code name of a project
# query - Query string
# Example Request:
# GET /projects/:id/members
get
":id/members"
do
if
params
[
:query
].
present?
@members
=
paginate
user_project
.
users
.
where
(
"username LIKE ?"
,
"%
#{
params
[
:query
]
}
%"
)
else
@members
=
paginate
user_project
.
users
end
present
@members
,
with:
Entities
::
ProjectMember
,
project:
user_project
end
...
...
spec/requests/api/projects_spec.rb
View file @
77d63289
...
...
@@ -117,6 +117,14 @@ describe Gitlab::API do
json_response
.
count
.
should
==
2
json_response
.
first
[
'email'
].
should
==
user
.
email
end
it
"finds team members with query string"
do
get
api
(
"/projects/
#{
project
.
path
}
/members"
,
user
),
query:
user
.
username
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
count
.
should
==
1
json_response
.
first
[
'email'
].
should
==
user
.
email
end
end
describe
"GET /projects/:id/members/:user_id"
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment