From c1c903fb955cbee1afe3bd10944d6c218b576b15 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 28 Dec 2011 09:38:50 +0200 Subject: [PATCH] Project tab added. activities, team, snippets moved to project tab --- app/assets/stylesheets/projects.css.scss | 6 ++++- app/controllers/projects_controller.rb | 7 ++++++ app/views/dashboard/_sidebar.html.haml | 2 +- app/views/layouts/project.html.haml | 12 +--------- app/views/projects/_project_head.html.haml | 27 ++++++++++++++++++++++ app/views/projects/_tile.html.haml | 2 +- app/views/projects/activities.html.haml | 13 +++++++++++ app/views/projects/files.html.haml | 15 ++++++++++++ app/views/projects/show.html.haml | 17 ++++---------- app/views/projects/team.html.haml | 1 + app/views/snippets/index.html.haml | 1 + config/routes.rb | 4 ++++ 12 files changed, 80 insertions(+), 27 deletions(-) create mode 100644 app/views/projects/_project_head.html.haml create mode 100644 app/views/projects/activities.html.haml create mode 100644 app/views/projects/files.html.haml diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss index 33d70e30..f73c063d 100644 --- a/app/assets/stylesheets/projects.css.scss +++ b/app/assets/stylesheets/projects.css.scss @@ -561,6 +561,7 @@ h4.middle-panel { display:none; } + .merge-tabs { margin: 0; border: 1px solid #ccc; @@ -576,7 +577,7 @@ h4.middle-panel { border-right: 1px solid #ddd; background:none; padding: 10px; - width:60px; + min-width:60px; float:left; position:relative; top:-5px; @@ -598,6 +599,9 @@ h4.middle-panel { } } } +.activities-tab span { background: url("images.png") no-repeat -161px -1px; } +.stat-tab, .team-tab, .snippets-tab span { background: url("images.png") no-repeat -38px -77px; } +.files-tab span { background: url("images.png") no-repeat -112px -23px; } .merge-notes-tab span { background: url("images.png") no-repeat -161px -1px; } .merge-commits-tab span { background: url("images.png") no-repeat -86px 1px; } diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 4b4f748f..02495a22 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -67,6 +67,13 @@ class ProjectsController < ApplicationController end def show + end + + def files + @notes = @project.notes.where("attachment != 'NULL'").order("created_at DESC") + end + + def activities return render "projects/empty" unless @project.repo_exists? && @project.has_commits? limit = (params[:limit] || 20).to_i @activities = @project.cached_updates(limit) diff --git a/app/views/dashboard/_sidebar.html.haml b/app/views/dashboard/_sidebar.html.haml index 9f6378b4..dfe4abda 100644 --- a/app/views/dashboard/_sidebar.html.haml +++ b/app/views/dashboard/_sidebar.html.haml @@ -6,7 +6,7 @@ %ol.project-list - @projects.each do |project| %li - %a{:href => project_path(project)} + %a{:href => activities_project_path(project)} %span.arrow → %span.project-name= project.name %span.time diff --git a/app/views/layouts/project.html.haml b/app/views/layouts/project.html.haml index 5de97b52..44cd1279 100644 --- a/app/views/layouts/project.html.haml +++ b/app/views/layouts/project.html.haml @@ -23,14 +23,10 @@ .project-sidebar .fixed %aside - = link_to "Activities", project_path(@project), :class => current_page?(:controller => "projects", :action => "show", :id => @project) ? "current" : nil + = link_to "Project", project_path(@project), :class => (current_page?(:controller => "projects", :action => "activities", :id => @project) || controller.controller_name == "snippets" || current_page?(:controller => "projects", :action => "team", :id => @project) || controller.controller_name == "team_members" || current_page?(project_path(@project))) ? "current" : nil = link_to "Tree", tree_project_ref_path(@project, @project.root_ref), :class => current_page?(:controller => "refs", :action => "tree", :project_id => @project, :id => @ref || @project.root_ref ) ? "current" : nil = link_to "Commits", project_commits_path(@project), :class => current_page?(:controller => "commits", :action => "index", :project_id => @project) ? "current" : nil = link_to "Network graph", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil - = link_to team_project_path(@project), :class => (current_page?(:controller => "projects", :action => "team", :id => @project) || controller.controller_name == "team_members") ? "current" : nil do - Team - - if @project.users_projects.count > 0 - %span{ :class => "number" }= @project.users_projects.count = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do Issues - if @project.issues.open_for(current_user).count > 0 @@ -43,13 +39,7 @@ Merge Requests - if @project.merge_requests.opened.count > 0 %span{ :class => "number" }= @project.merge_requests.opened.count - = link_to project_snippets_path(@project), :class => (controller.controller_name == "snippets") ? "current" : nil do - Snippets - - if @project.snippets.non_expired.count > 0 - %span{ :class => "number" }= @project.snippets.non_expired.count - - if can? current_user, :admin_project, @project - = link_to "Admin", edit_project_path(@project), :class => (current_page?(edit_project_path(@project))) ? "current" : nil .medium-tags{:style => 'padding: 10px 0 0 10px; width: 210px;'}= tag_list @project diff --git a/app/views/projects/_project_head.html.haml b/app/views/projects/_project_head.html.haml new file mode 100644 index 00000000..c9aab4f7 --- /dev/null +++ b/app/views/projects/_project_head.html.haml @@ -0,0 +1,27 @@ +%div + -#- if can? current_user, :admin_project, @project + -#%span.entity-info + -#= link_to edit_project_path(@project) do + -#.entity-button + -#Edit Project + -#%i + + -#%h2= @project.name +.merge-tabs + = link_to activities_project_path(@project), :class => "activities-tab tab #{'active' if current_page?(activities_project_path(@project)) }" do + %span + Activities + = link_to project_path(@project), :class => "stat-tab tab" do + %span + Info + = link_to team_project_path(@project), :class => "team-tab tab" do + %span + Team + = link_to files_project_path(@project), :class => "files-tab tab" do + %span + Files + = link_to project_snippets_path(@project), :class => "snippets-tab tab" do + %span + Snippets + + diff --git a/app/views/projects/_tile.html.haml b/app/views/projects/_tile.html.haml index d9549045..8d0ad21f 100644 --- a/app/views/projects/_tile.html.haml +++ b/app/views/projects/_tile.html.haml @@ -2,7 +2,7 @@ - projects.each_with_index do |project, i| %div.grid_1.projects_selector %div{ :class => "project-box ui-box ui-box-big" } - = link_to project_path(project) do + = link_to activities_project_path(project) do %h3= truncate(project.name, :length => 20) .data %p.title.repository.git_url_wrapper diff --git a/app/views/projects/activities.html.haml b/app/views/projects/activities.html.haml new file mode 100644 index 00000000..bbc31a59 --- /dev/null +++ b/app/views/projects/activities.html.haml @@ -0,0 +1,13 @@ +- content_for(:body_class, "project-page dashboard") + += render "project_head" +#news-feed.news-feed + .project-box.project-updates.ui-box.ui-box-small.ui-box-big + - @activities.each do |update| + = render "projects/feed", :update => update, :project => @project + +:javascript + function updateDashboard(){ + $('.project-content').load("#{escape_javascript(project_path(@project))} .project-content>*"); + } + setInterval("updateDashboard()", 300000); diff --git a/app/views/projects/files.html.haml b/app/views/projects/files.html.haml new file mode 100644 index 00000000..8bc70345 --- /dev/null +++ b/app/views/projects/files.html.haml @@ -0,0 +1,15 @@ += render "project_head" +%div{ :class => "update-data ui-box ui-box-small ui-box-big" } + .data + - @notes.each do |note| + %a.update-item{:href => note.attachment.url} + = image_tag gravatar_icon(note.author_email), :class => "left", :width => 16 + %span.update-title{:style => "margin-bottom:0px;"} + = note.attachment_identifier + %span.update-author.right + Added + = time_ago_in_words(note.created_at) + ago + + + diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 0530736f..bc78e99d 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -1,15 +1,6 @@ -- content_for(:body_class, "project-page dashboard") += render "project_head" +.stats + - unless @project.description.empty? + %h3= simple_format @project.description -#news-feed.news-feed - %h2.icon - %span> - Activities - .project-box.project-updates.ui-box.ui-box-small.ui-box-big - - @activities.each do |update| - = render "projects/feed", :update => update, :project => @project -:javascript - function updateDashboard(){ - $('.project-content').load("#{escape_javascript(project_path(@project))} .project-content>*"); - } - setInterval("updateDashboard()", 300000); diff --git a/app/views/projects/team.html.haml b/app/views/projects/team.html.haml index 3b2c4b3e..41afc451 100644 --- a/app/views/projects/team.html.haml +++ b/app/views/projects/team.html.haml @@ -1,3 +1,4 @@ += render "project_head" %div = render :partial => "team", :locals => {:project => @project} diff --git a/app/views/snippets/index.html.haml b/app/views/snippets/index.html.haml index f08a3d1d..0c83bf9d 100644 --- a/app/views/snippets/index.html.haml +++ b/app/views/snippets/index.html.haml @@ -1,3 +1,4 @@ += render "projects/project_head" %h2.icon %span> Snippets diff --git a/config/routes.rb b/config/routes.rb index bf9fe954..2812b150 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -42,6 +42,10 @@ Gitlab::Application.routes.draw do get "team" get "wall" get "graph" + get "activities" + get "branches" + get "tags" + get "files" end resources :refs, :only => [], :path => "/" do