diff --git a/app/assets/stylesheets/gitlab_bootstrap/mixins.scss b/app/assets/stylesheets/gitlab_bootstrap/mixins.scss index 1e5fff68bf817228c39bc86789c05e64ca069622..2f83ca0c0344cb54da26d4c7d55964777f6701bd 100644 --- a/app/assets/stylesheets/gitlab_bootstrap/mixins.scss +++ b/app/assets/stylesheets/gitlab_bootstrap/mixins.scss @@ -71,7 +71,7 @@ color: $style_color; text-shadow: 0 1px 1px #FFF; font-size: 18px; - line-height: 42px; + line-height: 40px; font-weight: normal; letter-spacing: -1px; } diff --git a/app/views/commits/_head.html.haml b/app/views/commits/_head.html.haml index 02debe426fefefa84886887b6d840d6bfedfd97c..20b9195c4c3d4aa603ffc8dbf5b1e34176ca2a35 100644 --- a/app/views/commits/_head.html.haml +++ b/app/views/commits/_head.html.haml @@ -23,6 +23,5 @@ - if current_controller?(:commits) && current_user.private_token %li.pull-right - %span.rss-icon - = link_to project_commits_path(@project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed" do - = image_tag "rss_ui.png", title: "feed" + = link_to project_commits_path(@project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed" do + %i.icon-rss diff --git a/app/views/dashboard/show.atom.builder b/app/views/dashboard/show.atom.builder index 2bb42a65bac7f512b44ae157ad0c28cfb8a36b26..29b2e4a26d8f8c7ff8edee6c48d91309af921a31 100644 --- a/app/views/dashboard/show.atom.builder +++ b/app/views/dashboard/show.atom.builder @@ -1,8 +1,8 @@ xml.instruct! xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://search.yahoo.com/mrss/" do xml.title "Dashboard feed#{" - #{current_user.name}" if current_user.name.present?}" - xml.link :href => projects_url(:atom), :rel => "self", :type => "application/atom+xml" - xml.link :href => projects_url, :rel => "alternate", :type => "text/html" + xml.link :href => dashboard_url(:atom), :rel => "self", :type => "application/atom+xml" + xml.link :href => dashboard_url, :rel => "alternate", :type => "text/html" xml.id projects_url xml.updated @events.maximum(:updated_at).strftime("%Y-%m-%dT%H:%M:%SZ") if @events.any? diff --git a/app/views/groups/show.atom.builder b/app/views/groups/show.atom.builder index 9aa52ea55930c5b5498f542acd1b38f499892947..5f2999c3d8e8dbc53b7c28010240a787f1c4c959 100644 --- a/app/views/groups/show.atom.builder +++ b/app/views/groups/show.atom.builder @@ -1,8 +1,8 @@ xml.instruct! xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://search.yahoo.com/mrss/" do - xml.title "Dashboard feed#{" - #{current_user.name}" if current_user.name.present?}" - xml.link :href => projects_url(:atom), :rel => "self", :type => "application/atom+xml" - xml.link :href => projects_url, :rel => "alternate", :type => "text/html" + xml.title "Group feed - #{@group.name}" + xml.link :href => group_path(@group, :atom), :rel => "self", :type => "application/atom+xml" + xml.link :href => group_path(@group), :rel => "alternate", :type => "text/html" xml.id projects_url xml.updated @events.maximum(:updated_at).strftime("%Y-%m-%dT%H:%M:%SZ") if @events.any? diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml index 81694b88cc40f4aef53755341988bbfe7a6d1387..adf249f656a9f2c693e3d28d2cbbb8bf016ce32a 100644 --- a/app/views/groups/show.html.haml +++ b/app/views/groups/show.html.haml @@ -16,11 +16,11 @@ .description.well.light = @group.description = render "projects", projects: @projects - %div - %span.rss-icon - = link_to dashboard_path(:atom, { private_token: current_user.private_token }) do - = image_tag "rss_ui.png", title: "feed" - %strong News Feed + .prepend-top-20 + = link_to group_path(@group, { format: :atom, private_token: current_user.private_token }), title: "Feed" do + %strong + %i.icon-rss + News Feed %hr .gitlab-promo diff --git a/app/views/issues/_head.html.haml b/app/views/issues/_head.html.haml index 7e0b2cde074ae8c484bc5736d18e90f8588e249c..44d14d5cdf9299e0284eab1b96ab91501b9595c4 100644 --- a/app/views/issues/_head.html.haml +++ b/app/views/issues/_head.html.haml @@ -6,6 +6,5 @@ = nav_link(controller: :labels) do = link_to 'Labels', project_labels_path(@project), class: "tab" %li.pull-right - %span.rss-icon - = link_to project_issues_path(@project, :atom, { private_token: current_user.private_token }) do - = image_tag "rss_ui.png", title: "feed" + = link_to project_issues_path(@project, :atom, { private_token: current_user.private_token }) do + %i.icon-rss diff --git a/app/views/teams/show.atom.builder b/app/views/teams/show.atom.builder new file mode 100644 index 0000000000000000000000000000000000000000..bb0f666e8601120003e14a21d5432a6f063ea984 --- /dev/null +++ b/app/views/teams/show.atom.builder @@ -0,0 +1,29 @@ +xml.instruct! +xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://search.yahoo.com/mrss/" do + xml.title "Team feed - #{@team.name}" + xml.link :href => team_url(@team, :atom), :rel => "self", :type => "application/atom+xml" + xml.link :href => team_url(@team), :rel => "alternate", :type => "text/html" + xml.id projects_url + xml.updated @events.maximum(:updated_at).strftime("%Y-%m-%dT%H:%M:%SZ") if @events.any? + + @events.each do |event| + if event.proper? + event = EventDecorator.decorate(event) + xml.entry do + event_link = event.feed_url + event_title = event.feed_title + + xml.id "tag:#{request.host},#{event.created_at.strftime("%Y-%m-%d")}:#{event.id}" + xml.link :href => event_link + xml.title truncate(event_title, :length => 80) + xml.updated event.created_at.strftime("%Y-%m-%dT%H:%M:%SZ") + xml.media :thumbnail, :width => "40", :height => "40", :url => gravatar_icon(event.author_email) + xml.author do |author| + xml.name event.author_name + xml.email event.author_email + end + xml.summary event_title + end + end + end +end diff --git a/app/views/teams/show.html.haml b/app/views/teams/show.html.haml index 43cc026a5cf8e7e3d9214e7774b58e0c13ec05b2..2eb0283e0ab7215ccde422528172681a6c691e8d 100644 --- a/app/views/teams/show.html.haml +++ b/app/views/teams/show.html.haml @@ -15,11 +15,11 @@ .description.well.light = @team.description = render "projects", projects: @projects - %div - %span.rss-icon - = link_to dashboard_path(:atom, { private_token: current_user.private_token }) do - = image_tag "rss_ui.png", title: "feed" - %strong News Feed + .prepend-top-20 + = link_to team_path(@team, { format: :atom, private_token: current_user.private_token }), title: "Feed" do + %strong + %i.icon-rss + News Feed %hr .gitlab-promo diff --git a/config/routes.rb b/config/routes.rb index b06fda8f85da6087b41bae6b8ded69e8ee0a76cc..27977ae30a912b0f0ca1824aa35b0b948f246f55 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -135,7 +135,7 @@ Gitlab::Application.routes.draw do # # Groups Area # - resources :groups, constraints: { id: /[^\/]+/ } do + resources :groups, constraints: {id: /(?:[^.]|\.(?!atom$))+/, format: /atom/} do member do get :issues get :merge_requests @@ -148,7 +148,7 @@ Gitlab::Application.routes.draw do # # Teams Area # - resources :teams, constraints: { id: /[^\/]+/ } do + resources :teams, constraints: {id: /(?:[^.]|\.(?!atom$))+/, format: /atom/} do member do get :issues get :merge_requests diff --git a/features/teams/team.feature b/features/teams/team.feature index f7774597dc3954d94bfa2c9c6959e6e7097f9fdc..e15e3f0640d08800f0321696ca3ef17996699a89 100644 --- a/features/teams/team.feature +++ b/features/teams/team.feature @@ -4,11 +4,6 @@ Feature: UserTeams And I own project "Shop" And project "Shop" has push event - Scenario: No teams, no dashboard info block - When I do not have teams with me - And I visit dashboard page - Then I should see dashboard page without teams info block - Scenario: I should see teams info block When I have teams with my membership And I visit dashboard page