Assign current user when no user is assigned link
This commit is contained in:
parent
f649126095
commit
5db2622aea
|
@ -31,17 +31,16 @@ class @LabelsSelect
|
||||||
issueURLSplit = issueUpdateURL.split('/') if issueUpdateURL?
|
issueURLSplit = issueUpdateURL.split('/') if issueUpdateURL?
|
||||||
if issueUpdateURL
|
if issueUpdateURL
|
||||||
labelHTMLTemplate = _.template(
|
labelHTMLTemplate = _.template(
|
||||||
'<% _.each(labels, function(label){ %>'+
|
'<% _.each(labels, function(label){ %>
|
||||||
'<a href="'+
|
<a href="
|
||||||
['',issueURLSplit[1], issueURLSplit[2],''].join('/') +
|
#{["",issueURLSplit[1], issueURLSplit[2],""].join("/")}
|
||||||
'issues?label_name=<%= label.title %>">'+
|
issues?label_name=<%= label.title %>">
|
||||||
'<span class="label color-label" '+
|
<span class="label color-label" style="background-color: <%= label.color %>; color: #FFFFFF">
|
||||||
'style="background-color: <%= label.color %>; '+
|
<%= label.title %>
|
||||||
'color: #FFFFFF">'+
|
</span>
|
||||||
'<%= label.title %>'+
|
</a>
|
||||||
'</span>'+
|
<% }); %>'
|
||||||
'</a>'+
|
);
|
||||||
'<% }); %>');
|
|
||||||
labelNoneHTMLTemplate = _.template('<div class="light">None</div>')
|
labelNoneHTMLTemplate = _.template('<div class="light">None</div>')
|
||||||
|
|
||||||
if newLabelField.length and $dropdown.hasClass 'js-extra-options'
|
if newLabelField.length and $dropdown.hasClass 'js-extra-options'
|
||||||
|
|
|
@ -19,6 +19,27 @@ class @UsersSelect
|
||||||
$value = $block.find('.value')
|
$value = $block.find('.value')
|
||||||
$loading = $block.find('.block-loading').fadeOut()
|
$loading = $block.find('.block-loading').fadeOut()
|
||||||
|
|
||||||
|
noAssigneeTemplate = _.template(
|
||||||
|
'<% if (username) { %>
|
||||||
|
<a class="author_link " href="/u/<%= username %>">
|
||||||
|
<% if( avatar ) { %>
|
||||||
|
<img width="32" class="avatar avatar-inline s32" alt="" src="<%= avatar %>">
|
||||||
|
<% } %>
|
||||||
|
<span class="author"><%= name %></span>
|
||||||
|
<span class="username">
|
||||||
|
@<%= username %>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
<% } else { %>
|
||||||
|
<span class="assign-yourself">
|
||||||
|
No assignee -
|
||||||
|
<a href="#" class="js-assign-yourself">
|
||||||
|
assign yourself
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
<% } %>'
|
||||||
|
)
|
||||||
|
|
||||||
$dropdown.glDropdown(
|
$dropdown.glDropdown(
|
||||||
data: (term, callback) =>
|
data: (term, callback) =>
|
||||||
@users term, (users) =>
|
@users term, (users) =>
|
||||||
|
@ -100,21 +121,21 @@ class @UsersSelect
|
||||||
).done (data) ->
|
).done (data) ->
|
||||||
$loading.fadeOut()
|
$loading.fadeOut()
|
||||||
$selectbox.hide()
|
$selectbox.hide()
|
||||||
href = $value
|
|
||||||
.show()
|
if data.assignee
|
||||||
.find('.author')
|
user =
|
||||||
.text(data.assignee.name)
|
name: data.assignee.name
|
||||||
.end()
|
username: data.assignee.username
|
||||||
.find('.username')
|
avatar: data.assignee.avatar.url
|
||||||
.text("@#{data.assignee.username}")
|
else
|
||||||
.end()
|
user =
|
||||||
.find('a')
|
name: 'Unassigned'
|
||||||
.attr('href')
|
username: ''
|
||||||
splitHref = href.split('/')
|
avatar: ''
|
||||||
splitHref[splitHref.length - 1] = data.assignee.username
|
|
||||||
$value
|
$value.html(noAssigneeTemplate(user))
|
||||||
.find('a')
|
$value.find('a').attr('href')
|
||||||
.attr('href',splitHref.join('/'))
|
|
||||||
renderRow: (user) ->
|
renderRow: (user) ->
|
||||||
username = if user.username then "@#{user.username}" else ""
|
username = if user.username then "@#{user.username}" else ""
|
||||||
avatar = if user.avatar_url then user.avatar_url else false
|
avatar = if user.avatar_url then user.avatar_url else false
|
||||||
|
@ -131,17 +152,25 @@ class @UsersSelect
|
||||||
if avatar
|
if avatar
|
||||||
img = "<img src='#{avatar}' class='avatar avatar-inline' width='30' />"
|
img = "<img src='#{avatar}' class='avatar avatar-inline' width='30' />"
|
||||||
|
|
||||||
"<li>
|
# split into three parts so we can remove the username section if nessesary
|
||||||
<a href='#' class='dropdown-menu-user-link #{selected}'>
|
listWithName = "<li>
|
||||||
#{img}
|
<a href='#' class='dropdown-menu-user-link #{selected}'>
|
||||||
<strong class='dropdown-menu-user-full-name'>
|
#{img}
|
||||||
#{user.name}
|
<strong class='dropdown-menu-user-full-name'>
|
||||||
</strong>
|
#{user.name}
|
||||||
<span class='dropdown-menu-user-username'>
|
</strong>"
|
||||||
#{username}
|
|
||||||
</span>
|
listWithUserName = "<span class='dropdown-menu-user-username'>
|
||||||
</a>
|
#{username}
|
||||||
</li>"
|
</span>"
|
||||||
|
listClosingTags = "</a>
|
||||||
|
</li>"
|
||||||
|
|
||||||
|
|
||||||
|
if username is ''
|
||||||
|
listWithUserName = ''
|
||||||
|
|
||||||
|
listWithName + listWithUserName + listClosingTags
|
||||||
)
|
)
|
||||||
|
|
||||||
$('.ajax-users-select').each (i, select) =>
|
$('.ajax-users-select').each (i, select) =>
|
||||||
|
|
|
@ -133,6 +133,12 @@
|
||||||
|
|
||||||
.value {
|
.value {
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
|
||||||
|
.assign-yourself {
|
||||||
|
margin-top: 10px;
|
||||||
|
font-weight: normal;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bold {
|
.bold {
|
||||||
|
|
|
@ -44,11 +44,14 @@
|
||||||
%span.username
|
%span.username
|
||||||
= issuable.assignee.to_reference
|
= issuable.assignee.to_reference
|
||||||
- else
|
- else
|
||||||
.light None
|
%span.assign-yourself
|
||||||
|
No assignee -
|
||||||
|
%a.js-assign-yourself{href:'#'}
|
||||||
|
assign yourself
|
||||||
|
|
||||||
.selectbox.hide-collapsed
|
.selectbox.hide-collapsed
|
||||||
= f.hidden_field 'assignee_id', value: issuable.assignee_id, id: nil
|
= f.hidden_field 'assignee_id', value: issuable.assignee_id, id: 'issue_assignee_id'
|
||||||
= dropdown_tag('Select assignee', options: { toggle_class: 'js-user-search js-author-search', title: 'Assign user', filter: true, dropdown_class: 'dropdown-menu-user dropdown-menu-selectable dropdown-menu-author', placeholder: 'Search users', data: { first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), field_name: "#{issuable.to_ability_name}[assignee_id]", issue_update: issuable_url, ability_name: issuable.to_ability_name } })
|
= dropdown_tag('Select assignee', options: { toggle_class: 'js-user-search js-author-search', title: 'Assign user', filter: true, dropdown_class: 'dropdown-menu-user dropdown-menu-selectable dropdown-menu-author', placeholder: 'Search users', data: { first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), field_name: "#{issuable.to_ability_name}[assignee_id]", issue_update: issuable_url, ability_name: issuable.to_ability_name, null_user: true } })
|
||||||
|
|
||||||
.block.milestone
|
.block.milestone
|
||||||
.sidebar-collapsed-icon
|
.sidebar-collapsed-icon
|
||||||
|
|
Loading…
Reference in New Issue