Skip to content
Snippets Groups Projects
Commit f295ff84 authored by Nihad Abbasov's avatar Nihad Abbasov
Browse files

create atom feed for issues

parent 2b04c2a6
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -22,6 +22,7 @@ class IssuesController < ApplicationController
respond_to do |format|
format.html # index.html.erb
format.js
format.atom { render :layout => false }
end
end
 
Loading
Loading
@@ -38,7 +39,7 @@ class IssuesController < ApplicationController
@notes = @issue.notes.order("created_at DESC").limit(20)
@note = @project.notes.new(:noteable => @issue)
 
respond_to do |format|
respond_to do |format|
format.html
format.js { respond_with_notes }
end
Loading
Loading
xml.instruct!
xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://search.yahoo.com/mrss/" do
xml.title "#{@project.name} issues"
xml.link :href => project_issues_url(@project, :atom), :rel => "self", :type => "application/atom+xml"
xml.link :href => project_issues_url(@project), :rel => "alternate", :type => "text/html"
xml.id project_issues_url(@project)
xml.updated @issues.first.created_at.strftime("%Y-%m-%dT%H:%M:%SZ") if @issues.any?
@issues.each do |issue|
xml.entry do
xml.id project_issue_url(@project, issue)
xml.link :href => project_issue_url(@project, issue)
xml.title truncate(issue.title, :length => 80)
xml.updated issue.created_at.strftime("%Y-%m-%dT%H:%M:%SZ")
xml.media :thumbnail, :width => "40", :height => "40", :url => gravatar_icon(issue.author_email)
xml.author do |author|
xml.name issue.author_name
xml.email issue.author_email
end
xml.summary issue.title
end
end
end
Loading
Loading
@@ -7,6 +7,8 @@
= javascript_include_tag "application"
- if current_page?(tree_project_path(@project)) || current_page?(project_commits_path(@project))
= auto_discovery_link_tag(:atom, project_commits_url(@project, :atom, :ref => @ref), :title => "Recent commits to #{@project.name}:#{@ref}")
- if request.path == project_issues_path(@project)
= auto_discovery_link_tag(:atom, project_issues_url(@project, :atom), :title => "#{@project.name} issues")
= csrf_meta_tags
= javascript_tag do
REQ_URI = "#{request.env["REQUEST_URI"]}";
Loading
Loading
Loading
Loading
@@ -27,6 +27,15 @@ describe "Issues" do
it { should have_content(@issue.project.name) }
it { should have_content(@issue.assignee.name) }
 
it "should render atom feed" do
visit project_issues_path(project, :atom)
page.response_headers['Content-Type'].should have_content("application/atom+xml")
page.body.should have_selector("title", :text => "#{project.name} issues")
page.body.should have_selector("author email", :text => @issue.author_email)
page.body.should have_selector("entry summary", :text => @issue.title)
end
describe "Destroy" do
before do
# admin access to remove issue
Loading
Loading
@@ -81,13 +90,13 @@ describe "Issues" do
end
 
describe "fill in" do
describe 'assign to me' do
describe 'assign to me' do
before do
fill_in "issue_title", :with => "bug 345"
click_link "Select user"
within "#issue_assignee_id-menu" do
click_link @user.name
end
end
end
 
it { expect { click_button "Save" }.to change {Issue.count}.by(1) }
Loading
Loading
@@ -107,13 +116,13 @@ describe "Issues" do
end
end
 
describe 'assign to other' do
describe 'assign to other' do
before do
fill_in "issue_title", :with => "bug 345"
click_link "Select user"
within "#issue_assignee_id-menu" do
click_link @user2.name
end
end
end
 
it { expect { click_button "Save" }.to change {Issue.count}.by(1) }
Loading
Loading
@@ -145,7 +154,7 @@ describe "Issues" do
end
end
 
describe "Show issue" do
describe "Show issue" do
before do
@issue = Factory :issue,
:author => @user,
Loading
Loading
@@ -205,7 +214,7 @@ describe "Issues" do
@issue.save
end
end
it "should be able to search on different statuses" do
@issue = Issue.first
@issue.closed = true
Loading
Loading
@@ -214,13 +223,13 @@ describe "Issues" do
visit project_issues_path(project)
choose 'closed_issues'
fill_in 'issue_search', :with => 'foobar'
page.should have_content 'foobar'
page.should_not have_content 'foobar2'
page.should_not have_content 'gitlab'
end
 
it "should search for term and return the correct results" do
it "should search for term and return the correct results" do
visit project_issues_path(project)
fill_in 'issue_search', :with => 'foobar'
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment