From 5f4a7c3e04f9511be01234b9f2d7bd0134491b22 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 20 Feb 2012 08:39:03 +0200 Subject: [PATCH] Home tab added, Repository tab removed\n Ability to download branch --- app/assets/images/Home-UI.PNG | Bin 782 -> 0 bytes app/assets/images/home_icon.PNG | Bin 0 -> 596 bytes app/assets/stylesheets/common.scss | 30 +++++++++++++++-- .../protected_branches_controller.rb | 1 + app/controllers/repositories_controller.rb | 1 + app/helpers/projects_helper.rb | 25 +++++++++++--- app/views/commits/_head.html.haml | 11 +++++-- app/views/hooks/index.html.haml | 2 +- app/views/layouts/_app_menu.html.haml | 3 +- app/views/layouts/_const_menu_links.html.haml | 1 + app/views/layouts/_project_menu.html.haml | 4 +-- app/views/layouts/admin.html.haml | 1 + app/views/layouts/profile.html.haml | 1 + app/views/projects/_project_head.html.haml | 13 ++++++++ app/views/repositories/_branch.html.haml | 20 +++++++++++ .../repositories/_branches_head.html.haml | 11 ++++--- app/views/repositories/_feed.html.haml | 6 +++- app/views/repositories/_head.html.haml | 24 +------------- app/views/repositories/branches.html.haml | 16 +-------- app/views/repositories/show.html.haml | 31 ++---------------- app/views/repositories/tags.html.haml | 14 +++++--- spec/requests/repositories_spec.rb | 4 --- 22 files changed, 125 insertions(+), 94 deletions(-) delete mode 100644 app/assets/images/Home-UI.PNG create mode 100644 app/assets/images/home_icon.PNG create mode 100644 app/views/layouts/_const_menu_links.html.haml create mode 100644 app/views/repositories/_branch.html.haml diff --git a/app/assets/images/Home-UI.PNG b/app/assets/images/Home-UI.PNG deleted file mode 100644 index f739af3c2acba143a008f5a007a29846d91afde9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 782 zcmV+p1M&QcP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyS? z5-SgvHCMI(00NFlL_t(Y$L-cjh+IV!2H@{@k})QM_zHq3h-*c~2x8p%xN{bQiAE81 zFob~!qHPd#p`Z(2NJJ3D2!g1)AfkxXqh=8iH;PZ(s*5b#j0+WH=!xy-Tq!%3X~{o|F_K*o@nA%38UHs6&3XtU;tm|bxp*B1 zODW3{(O@60#vJyQQcl!!d#6g?$rBOx;*}(U1-ugxXXW<|*pIs=74F&^E(`egPL~Ku~_TyJPixIBDb9fS0;CFnDt1``8DP_1O zk0RnC9L9C{8IR*~+?^qxCh-Dx=h!H7&h`8KVcWKorK|k781E&?GH%D7ibNX!JYL4r zb)Hhnux;DFRb*33Ha|ZvB6i|f`tcp^#JjklTJ^XZdvSJ>!rP^kJ>BBlw$x|gV6UH`R z+m!fiRbM=*ycecSZ1BT`@h@;wHq~(q^Z)d_+pHT=*X!1LdFPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyV_ z4K@a3G(t}R00GoVL_t(I%bk-wXjMTJgul5yMH`8gAo!CY*xAX$Qna`S6)}aD3N`^d z6%@6Q7+VVwA&qHN5Y%>WX~aSiVj4ljM(~G}Hez1P8;k6d%{4#bsrInv&d$u43+q%w zbRuFXpWAnT&RPQi+Z{=hz<%IlO6hZ5*CUdS0Pj;uF9!3~8e}R-kAO44K43N?woB>) zlfda^!z)pZh#kPR?W4AD0oQ;}z*pdK9`BdmcFHEDL_~}L)4(=KSAiSAX5a#F0yqcQ zHh(cHm;~?+n6o_rOaMa}=pHZw+y*3RPpL$8UDGrTbzPqV9!q+e8C_{h&nzBDdYb{C zr<4u>C?Ylimw|EMA@B{jWZRN{0P`7V1F$u3`Wf&VxDL$NK3>@#wmlA<1$F@!0Rysq z)Aj+NYkL&vWphS>G26#%@0PSvh0a$%cOXF$z6ieP2?Q8O;J)O8*CWs@D0{`c2dHQ%b*pg?4sU zP4)_<u7-OYf>>o3^yFFU|faX|4e50N;!Io}>@iTxY2j&}#$LOJP>|;(TGy i7vSJvCTGpSPk`SQOT{AUHr@FE0000 [:destroy, :create] + before_filter :render_full_content layout "project" diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 5ede9b5f..7bdcdf88 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -5,6 +5,7 @@ class RepositoriesController < ApplicationController before_filter :add_project_abilities before_filter :authorize_read_project! before_filter :require_non_empty_project + before_filter :render_full_content layout "project" diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index d78a4af3..16e3d9d0 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -22,6 +22,8 @@ module ProjectsHelper end if controller.controller_name == "snippets" || + controller.controller_name == "hooks" || + controller.controller_name == "deploy_keys" || controller.controller_name == "team_members" "current" end @@ -33,11 +35,26 @@ module ProjectsHelper end def repository_tab_class - if controller.controller_name == "repositories" || - controller.controller_name == "hooks" || + #if controller.controller_name == "repositories" || + #controller.controller_name == "hooks" || + #controller.controller_name == "deploy_keys" + #"current" + #end + end + + def commit_tab_class + if controller.controller_name == "commits" || + controller.controller_name == "repositories" || + controller.controller_name == "protected_branches" + "current" + end + end + + def branches_tab_class + if current_page?(branches_project_repository_path(@project)) || controller.controller_name == "protected_branches" || - controller.controller_name == "deploy_keys" - "current" + current_page?(project_repository_path(@project)) + 'active' end end end diff --git a/app/views/commits/_head.html.haml b/app/views/commits/_head.html.haml index f6facea8..a8648ccf 100644 --- a/app/views/commits/_head.html.haml +++ b/app/views/commits/_head.html.haml @@ -6,12 +6,19 @@ %li{:class => "#{'active' if current_page?(project_commits_path(@project)) }"} = link_to project_commits_path(@project) do - %span Commits %li{:class => "#{'active' if current_page?(compare_project_commits_path(@project)) }"} = link_to compare_project_commits_path(@project) do - %span Compare + %li{:class => "#{branches_tab_class}"} + = link_to project_repository_path(@project) do + Branches + %span.number= @project.repo.branches.count + + %li{:class => "#{'active' if current_page?(tags_project_repository_path(@project)) }"} + = link_to tags_project_repository_path(@project) do + Tags + %span.number= @project.repo.tags.count diff --git a/app/views/hooks/index.html.haml b/app/views/hooks/index.html.haml index 9ec8c556..69881752 100644 --- a/app/views/hooks/index.html.haml +++ b/app/views/hooks/index.html.haml @@ -1,4 +1,4 @@ -= render "repositories/head" += render "projects/project_head" - if can? current_user, :admin_project, @project .alert-message.block-message diff --git a/app/views/layouts/_app_menu.html.haml b/app/views/layouts/_app_menu.html.haml index 484ac630..c42bb3eb 100644 --- a/app/views/layouts/_app_menu.html.haml +++ b/app/views/layouts/_app_menu.html.haml @@ -1,5 +1,6 @@ %nav.main_menu - = link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path) || current_page?(root_path)}" + = render "layouts/const_menu_links" + -#= link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path) || current_page?(root_path)}" = link_to "Issues", dashboard_issues_path, :class => "#{"current" if current_page?(dashboard_issues_path)}", :id => "issues_slide" = link_to "Requests", dashboard_merge_requests_path, :class => "#{"current" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" = link_to "Help", help_path, :class => "#{"current" if controller.controller_name == "help"}" diff --git a/app/views/layouts/_const_menu_links.html.haml b/app/views/layouts/_const_menu_links.html.haml new file mode 100644 index 00000000..c0b971c2 --- /dev/null +++ b/app/views/layouts/_const_menu_links.html.haml @@ -0,0 +1 @@ += link_to "Home", root_path, :class => "home #{"current" if current_page?(projects_path) || current_page?(root_path)}", :title => "Home" diff --git a/app/views/layouts/_project_menu.html.haml b/app/views/layouts/_project_menu.html.haml index 54cfd2b0..5260fcd1 100644 --- a/app/views/layouts/_project_menu.html.haml +++ b/app/views/layouts/_project_menu.html.haml @@ -1,11 +1,11 @@ %nav.main_menu + = render "layouts/const_menu_links" = link_to project_path(@project), :class => "#{project_tab_class}", :title => "Project" do Project - if @project.repo_exists? - = link_to "Repository", project_repository_path(@project), :class => repository_tab_class = link_to "Files", tree_project_ref_path(@project, @project.root_ref), :class => tree_tab_class - = link_to "Commits", project_commits_path(@project), :class => (controller.controller_name == "commits") ? "current" : nil + = link_to "Commits", project_commits_path(@project), :class => commit_tab_class = link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil - if @project.issues_enabled diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index 98d890c1..87b9832e 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -6,6 +6,7 @@ = render "layouts/head_panel", :title => "Admin area" .container %nav.main_menu + = render "layouts/const_menu_links" = link_to "Users", admin_users_path, :class => controller.controller_name == "users" ? "current" : nil = link_to "Projects", admin_projects_path, :class => controller.controller_name == "projects" ? "current" : nil = link_to "Emails", admin_emails_path, :class => controller.controller_name == "mailer" ? "current" : nil diff --git a/app/views/layouts/profile.html.haml b/app/views/layouts/profile.html.haml index dd7030f4..9d02a4ff 100644 --- a/app/views/layouts/profile.html.haml +++ b/app/views/layouts/profile.html.haml @@ -6,6 +6,7 @@ = render "layouts/head_panel", :title => "Profile" .container %nav.main_menu + = render "layouts/const_menu_links" = link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil = link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil = link_to "Design", profile_design_path, :class => current_page?(:controller => "profile", :action => :design) ? "current" : nil diff --git a/app/views/projects/_project_head.html.haml b/app/views/projects/_project_head.html.haml index d55cbe1e..f8a4f9c5 100644 --- a/app/views/projects/_project_head.html.haml +++ b/app/views/projects/_project_head.html.haml @@ -16,3 +16,16 @@ %li{ :class => " #{'active' if (controller.controller_name == "snippets") }" } = link_to project_snippets_path(@project), :class => "snippets-tab tab" do Snippets + -#%li{:class => "#{'active' if current_page?(project_repository_path(@project)) }"} + -#= link_to project_repository_path(@project) do + -#%span + -#Activities + %li{:class => "#{'active' if controller.controller_name == "hooks" }"} + = link_to project_hooks_path(@project) do + %span + Hooks + %li{:class => "#{'active' if controller.controller_name == "deploy_keys"}"} + - if can? current_user, :admin_project, @project + = link_to project_deploy_keys_path(@project) do + %span + Deploy Keys diff --git a/app/views/repositories/_branch.html.haml b/app/views/repositories/_branch.html.haml new file mode 100644 index 00000000..7858b0fc --- /dev/null +++ b/app/views/repositories/_branch.html.haml @@ -0,0 +1,20 @@ +%tr + %td + = link_to project_commits_path(@project, :ref => branch.name) do + %strong= branch.name + - if branch.name == @project.root_ref + %span.label default + %td + = link_to project_commits_path(@project, branch.commit.id) do + %code= branch.commit.id.to_s[0..10] + + = image_tag gravatar_icon(Commit.new(branch.commit).author_email), :class => "", :width => 16 + = truncate(Commit.new(branch.commit).safe_message, :length => 40) + %td + %span.update-author.right + = time_ago_in_words(branch.commit.committed_date) + ago + %td + - if can? current_user, :download_code, @project + = link_to "Download", archive_project_repository_path(@project, :ref => branch.name), :class => "visible_link download_repo_link" + diff --git a/app/views/repositories/_branches_head.html.haml b/app/views/repositories/_branches_head.html.haml index dd4d6868..9a189498 100644 --- a/app/views/repositories/_branches_head.html.haml +++ b/app/views/repositories/_branches_head.html.haml @@ -1,9 +1,12 @@ -= render "repositories/head" += render "commits/head" %ul.pills - %li{:class => ("active" if current_page?(branches_project_repository_path(@project)))} - = link_to branches_project_repository_path(@project) do - All + %li{:class => ("active" if current_page?(project_repository_path(@project)))} + = link_to project_repository_path(@project) do + Recent %li{:class => ("active" if current_page?(project_protected_branches_path(@project)))} = link_to project_protected_branches_path(@project) do Protected + %li{:class => ("active" if current_page?(branches_project_repository_path(@project)))} + = link_to branches_project_repository_path(@project) do + All %hr diff --git a/app/views/repositories/_feed.html.haml b/app/views/repositories/_feed.html.haml index d66f51e4..9fdba10b 100644 --- a/app/views/repositories/_feed.html.haml +++ b/app/views/repositories/_feed.html.haml @@ -4,9 +4,13 @@ = link_to project_commits_path(@project, :ref => commit.head.name) do %strong = commit.head.name + - if commit.head.name == @project.root_ref + %span.label default + %td %div - %code= commit.id.to_s[0..10] + = link_to project_commits_path(@project, commit.id) do + %code= commit.id.to_s[0..10] = image_tag gravatar_icon(commit.author_email), :class => "", :width => 16 = truncate(commit.safe_message, :length => 40) %td diff --git a/app/views/repositories/_head.html.haml b/app/views/repositories/_head.html.haml index 2d43d008..bc96f306 100644 --- a/app/views/repositories/_head.html.haml +++ b/app/views/repositories/_head.html.haml @@ -1,23 +1 @@ -%ul.tabs - %li{:class => "#{'active' if current_page?(project_repository_path(@project)) }"} - = link_to project_repository_path(@project) do - %span - Activities - %li{:class => "#{'active' if current_page?(branches_project_repository_path(@project)) || current_page?(project_protected_branches_path(@project)) }"} - = link_to branches_project_repository_path(@project) do - %span - Branches - %li{:class => "#{'active' if current_page?(tags_project_repository_path(@project)) }"} - = link_to tags_project_repository_path(@project) do - %span - Tags - %li{:class => "#{'active' if controller.controller_name == "hooks" }"} - = link_to project_hooks_path do - %span - Hooks - %li{:class => "#{'active' if controller.controller_name == "deploy_keys"}"} - - if can? current_user, :admin_project, @project - = link_to project_deploy_keys_path(@project) do - %span - Deploy Keys - += render "projects/project_head" diff --git a/app/views/repositories/branches.html.haml b/app/views/repositories/branches.html.haml index 23e3eac3..c56b54d5 100644 --- a/app/views/repositories/branches.html.haml +++ b/app/views/repositories/branches.html.haml @@ -1,20 +1,6 @@ = render "repositories/branches_head" - unless @branches.empty? %table.zebra-striped.borders - %thead - %tr - %th Name - %th Last commit %tbody - @branches.each do |branch| - %tr - %td - = link_to project_commits_path(@project, :ref => branch.name) do - %strong= branch.name - - if branch.name == @project.root_ref - %span.label default - %td - = link_to project_commits_path(@project, branch.commit.id) do - = truncate branch.commit.id.to_s, :length => 10 - = time_ago_in_words(branch.commit.committed_date) - ago + = render "repositories/branch", :branch => branch diff --git a/app/views/repositories/show.html.haml b/app/views/repositories/show.html.haml index c72b866b..43514551 100644 --- a/app/views/repositories/show.html.haml +++ b/app/views/repositories/show.html.haml @@ -1,33 +1,6 @@ -= render "head" -%h3 - = @project.name - - if can? current_user, :download_code, @project - = link_to "Download", archive_project_repository_path(@project), :class => "btn small right" - - -%hr -.entry - %p - Last commit was - %small - %code= @activities.first.commit.id.to_s[0..10] - - = time_ago_in_words(@activities.first.commit.committed_date) - ago to - = link_to project_commits_path(@project, :ref => @activities.first.head.name), :class => "visible_link" do - %span.label= @activities.first.head.name -.alert-message.block-message.warning - .input - .input-prepend - %span.add-on git clone - = text_field_tag :project_clone, @project.url_to_repo, :class => "xlarge one_click_select git_clone_url" - - - -%h5.cgray - Recently updated branches += render "branches_head" %table.zebra-striped.borders - @activities.each do |update| - = render "repositories/feed", :update => update, :project => @project + = render "repositories/branch", :branch => update.head diff --git a/app/views/repositories/tags.html.haml b/app/views/repositories/tags.html.haml index 229362bc..16113853 100644 --- a/app/views/repositories/tags.html.haml +++ b/app/views/repositories/tags.html.haml @@ -1,19 +1,23 @@ -= render "head" += render "commits/head" - unless @tags.empty? %table.zebra-striped.borders - @tags.each do |tag| %tr %td - = tag.name - %code= tag.commit.id.to_s[0..10] + %strong= link_to tag.name, project_commits_path(@project, :ref => tag.name), :class => "" + %td + = link_to project_commits_path(@project, tag.commit.id) do + %code= tag.commit.id.to_s[0..10] + = image_tag gravatar_icon(Commit.new(tag.commit).author_email), :class => "", :width => 16 + = truncate(Commit.new(tag.commit).safe_message, :length => 40) + %td %span.update-author.right = time_ago_in_words(tag.commit.committed_date) ago   %td - if can? current_user, :download_code, @project - = link_to "Download", archive_project_repository_path(@project, :ref => tag.name), :class => "btn small" - = link_to "Commits", project_commits_path(@project, :ref => tag.name), :class => "btn small" + = link_to "Download", archive_project_repository_path(@project, :ref => tag.name), :class => "visible_link download_repo_link" - else %h3 No tags diff --git a/spec/requests/repositories_spec.rb b/spec/requests/repositories_spec.rb index 38c9edf5..3fb5371b 100644 --- a/spec/requests/repositories_spec.rb +++ b/spec/requests/repositories_spec.rb @@ -18,10 +18,6 @@ describe "Repository" do current_path.should == project_repository_path(@project) end - it "should have link to repo activities" do - page.should have_content("Activities") - end - it "should have link to last commit for activities tab" do page.should have_content(@project.commit.safe_message[0..20]) end