Fix failure when issue author is nil
This commit is contained in:
		
							parent
							
								
									610155e063
								
							
						
					
					
						commit
						19da7a5587
					
				| 
						 | 
				
			
			@ -32,7 +32,8 @@
 | 
			
		|||
        %ul
 | 
			
		||||
          - if can_update_issue
 | 
			
		||||
            %li= link_to 'Edit', edit_project_issue_path(@project, @issue)
 | 
			
		||||
          - unless current_user == @issue.author
 | 
			
		||||
            / TODO: simplify condition back #36860
 | 
			
		||||
          - if @issue.author && current_user != @issue.author
 | 
			
		||||
            %li= link_to 'Report abuse', new_abuse_report_path(user_id: @issue.author.id, ref_url: issue_url(@issue))
 | 
			
		||||
          - if can_update_issue
 | 
			
		||||
            %li= link_to 'Close issue', issue_path(@issue, issue: { state_event: :close }, format: 'json'), class: "btn-close #{issue_button_visibility(@issue, true)}", title: 'Close issue'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@
 | 
			
		|||
            class: "hidden-xs hidden-sm btn btn-grouped btn-reopen #{issuable_button_visibility(issuable, false)}", title: "Reopen #{display_issuable_type}"
 | 
			
		||||
- elsif can_update && !is_current_user
 | 
			
		||||
  = render 'shared/issuable/close_reopen_report_toggle', issuable: issuable
 | 
			
		||||
- else
 | 
			
		||||
- elsif issuable.author
 | 
			
		||||
  / TODO: change back to else #36860
 | 
			
		||||
  = link_to 'Report abuse', new_abuse_report_path(user_id: issuable.author.id, ref_url: issuable_url(issuable)),
 | 
			
		||||
            class: 'hidden-xs hidden-sm btn btn-grouped btn-close-color', title: 'Report abuse'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,13 +37,15 @@
 | 
			
		|||
 | 
			
		||||
      %li.divider.droplab-item-ignore
 | 
			
		||||
 | 
			
		||||
      %li.report-item{ data: { text: 'Report abuse', url: new_abuse_report_path(user_id: issuable.author.id, ref_url: issuable_url(issuable)),
 | 
			
		||||
                       button_class: "#{button_class} btn-close-color", toggle_class: "#{toggle_class} btn-close-color", method: '' } }
 | 
			
		||||
        %button.btn.btn-transparent
 | 
			
		||||
          = icon('check', class: 'icon')
 | 
			
		||||
          .description
 | 
			
		||||
            %strong.title Report abuse
 | 
			
		||||
            %p.text
 | 
			
		||||
              Report
 | 
			
		||||
              = display_issuable_type.pluralize
 | 
			
		||||
              that are abusive, inappropriate or spam.
 | 
			
		||||
      / TODO: remove condition #36860
 | 
			
		||||
      - if issuable.author
 | 
			
		||||
        %li.report-item{ data: { text: 'Report abuse', url: new_abuse_report_path(user_id: issuable.author.id, ref_url: issuable_url(issuable)),
 | 
			
		||||
                         button_class: "#{button_class} btn-close-color", toggle_class: "#{toggle_class} btn-close-color", method: '' } }
 | 
			
		||||
          %button.btn.btn-transparent
 | 
			
		||||
            = icon('check', class: 'icon')
 | 
			
		||||
            .description
 | 
			
		||||
              %strong.title Report abuse
 | 
			
		||||
              %p.text
 | 
			
		||||
                Report
 | 
			
		||||
                = display_issuable_type.pluralize
 | 
			
		||||
                that are abusive, inappropriate or spam.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix failure when issue is authored by a deleted user
 | 
			
		||||
merge_request: 13807
 | 
			
		||||
author:
 | 
			
		||||
type: fixed
 | 
			
		||||
| 
						 | 
				
			
			@ -40,4 +40,18 @@ feature 'Issue Detail', :js do
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  context 'when authored by a user who is later deleted' do
 | 
			
		||||
    before do
 | 
			
		||||
      issue.update_attribute(:author_id, nil)
 | 
			
		||||
      sign_in(user)
 | 
			
		||||
      visit project_issue_path(project, issue)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'shows the issue' do
 | 
			
		||||
      page.within('.issuable-details') do
 | 
			
		||||
        expect(find('h2')).to have_content(issue.title)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue