diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-12-23 22:46:23 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-12-23 23:37:07 -0500 |
commit | 2af687138d466560fefcaa38e5e2fd7f1278e188 (patch) | |
tree | 611f6d0c6dbf719e669dda649c46f73380525f3f | |
parent | 5a670322ce4f2d244e52bdf2d5695cba0e519290 (diff) | |
download | gitlab-ce-2af687138d466560fefcaa38e5e2fd7f1278e188.tar.gz |
Merge branch 'fix-error-500-global-search-issues' into 'master'
Fix Error 500 when doing a search in dashboard before visiting any project
If a search turned up an issue, under certain conditions you would see this error:
```
ActionView::Template::Error (undefined method `path_with_namespace' for nil:NilClass):
6: - if issue.description.present?
7: .description.term
8: = preserve do
9: = search_md_sanitize(markdown(issue.description))
10: %span.light
11: #{issue.project.name_with_namespace}
12: - if issue.closed?
lib/gitlab/markdown/upload_link_filter.rb:36:in `build_url'
lib/gitlab/markdown/upload_link_filter.rb:31:in `process_link_attr'
lib/gitlab/markdown/upload_link_filter.rb:18:in `block in call'
lib/gitlab/markdown/upload_link_filter.rb:17:in `call'
lib/gitlab/markdown.rb:127:in `gfm'
lib/gitlab/markdown.rb:24:in `render'
app/helpers/gitlab_markdown_helper.rb:61:in `markdown'
app/views/search/results/_issue.html.haml:9:in `block in _app_views_search_results__issue_html_haml__4127460390996300432_59973760'
app/views/search/results/_issue.html.haml:8:in `_app_views_search_results__issue_html_haml__4127460390996300432_59973760'
app/views/search/_results.html.haml:20:in `_app_views_search__results_html_haml__589475855773452465_61761440'
app/views/search/show.html.haml:5:in `_app_views_search_show_html_haml___1852335078065998536_69780120'
```
Confirmed this is issue still happens in GitLab 8.4, and it also happens on GitLab.com. Here's how to reproduce:
1. Login in a new browser.
2. Enter a search term on the top right that will land a hit in the "Issues" (e.g. GitLab).
3. Click on "Issues" tab. You should get an Error 500.
The issue is that @project isn't assigned to anything.
See merge request !2110
-rw-r--r-- | CHANGELOG | 7 | ||||
-rw-r--r-- | app/views/search/results/_issue.html.haml | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index d1540e9d7fb..f845e938e46 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,13 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.3.0 (unreleased) +v 8.4.0 (unreleased) + - Fix Error 500 when doing a search in dashboard before visiting any project (Stan Hu) + - Implement new UI for group page + - Add project permissions to all project API endpoints (Stan Hu) + +v 8.3.0 + - Add CAS support (tduehr) - Bump rack-attack to 4.3.1 for security fix (Stan Hu) - API support for starred projects for authorized user (Zeger-Jan van de Weg) - Add open_issues_count to project API (Stan Hu) diff --git a/app/views/search/results/_issue.html.haml b/app/views/search/results/_issue.html.haml index ce8ddff9556..45d700781f3 100644 --- a/app/views/search/results/_issue.html.haml +++ b/app/views/search/results/_issue.html.haml @@ -6,7 +6,7 @@ - if issue.description.present? .description.term = preserve do - = search_md_sanitize(markdown(issue.description)) + = search_md_sanitize(markdown(issue.description, { project: issue.project })) %span.light #{issue.project.name_with_namespace} - if issue.closed? |