Add Assign to me button and unassigned.
This commit is contained in:
parent
5db2622aea
commit
201101dfff
|
@ -1,8 +1,7 @@
|
|||
class @IssuableContext
|
||||
constructor: ->
|
||||
@initParticipants()
|
||||
|
||||
new UsersSelect()
|
||||
new UsersSelect(currentUser)
|
||||
$('select.select2').select2({width: 'resolve', dropdownAutoWidth: true})
|
||||
|
||||
$(".issuable-sidebar .inline-update").on "change", "select", ->
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
class @UsersSelect
|
||||
constructor: ->
|
||||
constructor: (currentUser) ->
|
||||
@usersPath = "/autocomplete/users.json"
|
||||
@userPath = "/autocomplete/users/:id.json"
|
||||
@currentUser = JSON.parse(currentUser)
|
||||
|
||||
$('.js-user-search').each (i, dropdown) =>
|
||||
$dropdown = $(dropdown)
|
||||
|
@ -19,6 +20,40 @@ class @UsersSelect
|
|||
$value = $block.find('.value')
|
||||
$loading = $block.find('.block-loading').fadeOut()
|
||||
|
||||
$block.on('click','.js-assign-yourself' , (e) =>
|
||||
e.preventDefault()
|
||||
assignTo(@currentUser.id)
|
||||
)
|
||||
|
||||
assignTo = (selected) ->
|
||||
data = {}
|
||||
data[abilityName] = {}
|
||||
data[abilityName].assignee_id = selected
|
||||
$loading
|
||||
.fadeIn()
|
||||
$.ajax(
|
||||
type: 'PUT'
|
||||
dataType: 'json'
|
||||
url: issueURL
|
||||
data: data
|
||||
).done (data) ->
|
||||
$loading.fadeOut()
|
||||
$selectbox.hide()
|
||||
|
||||
if data.assignee
|
||||
user =
|
||||
name: data.assignee.name
|
||||
username: data.assignee.username
|
||||
avatar: data.assignee.avatar.url
|
||||
else
|
||||
user =
|
||||
name: 'Unassigned'
|
||||
username: ''
|
||||
avatar: ''
|
||||
|
||||
$value.html(noAssigneeTemplate(user))
|
||||
$value.find('a').attr('href')
|
||||
|
||||
noAssigneeTemplate = _.template(
|
||||
'<% if (username) { %>
|
||||
<a class="author_link " href="/u/<%= username %>">
|
||||
|
@ -108,33 +143,7 @@ class @UsersSelect
|
|||
selected = $dropdown
|
||||
.closest('.selectbox')
|
||||
.find("input[name='#{$dropdown.data('field-name')}']").val()
|
||||
data = {}
|
||||
data[abilityName] = {}
|
||||
data[abilityName].assignee_id = selected
|
||||
$loading
|
||||
.fadeIn()
|
||||
$.ajax(
|
||||
type: 'PUT'
|
||||
dataType: 'json'
|
||||
url: issueURL
|
||||
data: data
|
||||
).done (data) ->
|
||||
$loading.fadeOut()
|
||||
$selectbox.hide()
|
||||
|
||||
if data.assignee
|
||||
user =
|
||||
name: data.assignee.name
|
||||
username: data.assignee.username
|
||||
avatar: data.assignee.avatar.url
|
||||
else
|
||||
user =
|
||||
name: 'Unassigned'
|
||||
username: ''
|
||||
avatar: ''
|
||||
|
||||
$value.html(noAssigneeTemplate(user))
|
||||
$value.find('a').attr('href')
|
||||
assignTo(selected)
|
||||
|
||||
renderRow: (user) ->
|
||||
username = if user.username then "@#{user.username}" else ""
|
||||
|
|
|
@ -152,5 +152,5 @@
|
|||
:javascript
|
||||
new MilestoneSelect();
|
||||
new LabelsSelect();
|
||||
new IssuableContext();
|
||||
new IssuableContext('#{current_user.to_json(only: [:username, :id, :name])}');
|
||||
new Subscription('.subscription')
|
Loading…
Reference in New Issue