Merge branch 'master' into simplify_controllers2
Conflicts: app/controllers/commits_controller.rb app/controllers/refs_controller.rb
This commit is contained in:
commit
e563e948bb
108 changed files with 1762 additions and 652 deletions
|
@ -1,9 +1,8 @@
|
|||
%ul.nav.nav-tabs
|
||||
%li
|
||||
= render partial: 'shared/ref_switcher', locals: {destination: 'tree', path: params[:path]}
|
||||
%li{class: "#{'active' if (controller.controller_name == "refs") }"}
|
||||
= link_to tree_project_ref_path(@project, @ref) do
|
||||
Source
|
||||
= nav_link(controller: :refs) do
|
||||
= link_to 'Source', project_tree_path(@project, @ref)
|
||||
%li.right
|
||||
.input-prepend.project_clone_holder
|
||||
%button{class: "btn small active", :"data-clone" => @project.ssh_url_to_repo} SSH
|
|
@ -4,7 +4,7 @@
|
|||
%ul.breadcrumb
|
||||
%li
|
||||
%span.arrow
|
||||
= link_to tree_project_ref_path(@project, @ref, path: nil) do
|
||||
= link_to project_tree_path(@project, @ref) do
|
||||
= @project.name
|
||||
- @tree.breadcrumbs(6) do |link|
|
||||
\/
|
||||
|
@ -18,9 +18,9 @@
|
|||
= @tree.name
|
||||
%small blame
|
||||
%span.options
|
||||
= link_to "raw", blob_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small", target: "_blank"
|
||||
= link_to "history", project_commits_path(@project, path: params[:path], ref: @ref), class: "btn very_small"
|
||||
= link_to "source", tree_file_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small"
|
||||
= link_to "raw", project_blob_path(@project, @id), class: "btn very_small", target: "_blank"
|
||||
= link_to "history", project_commits_path(@project, @id), class: "btn very_small"
|
||||
= link_to "source", project_tree_path(@project, @id), class: "btn very_small"
|
||||
.file_content.blame
|
||||
%table
|
||||
- @blame.each do |commit, lines|
|
||||
|
@ -32,8 +32,8 @@
|
|||
= commit.author_name
|
||||
%td.blame_commit
|
||||
|
||||
%code= link_to commit.short_id, project_commit_path(@project, id: commit.id)
|
||||
= link_to_gfm truncate(commit.title, length: 30), project_commit_path(@project, id: commit.id), class: "row_title" rescue "--broken encoding"
|
||||
%code= link_to commit.short_id, project_commit_path(@project, commit)
|
||||
= link_to_gfm truncate(commit.title, length: 30), project_commit_path(@project, commit), class: "row_title" rescue "--broken encoding"
|
||||
%td.lines
|
||||
= preserve do
|
||||
%pre
|
10
app/views/commit/show.html.haml
Normal file
10
app/views/commit/show.html.haml
Normal file
|
@ -0,0 +1,10 @@
|
|||
= render "commits/commit_box"
|
||||
= render "commits/diffs", diffs: @commit.diffs
|
||||
= render "notes/notes_with_form", tid: @commit.id, tt: "commit"
|
||||
= render "notes/per_line_form"
|
||||
|
||||
|
||||
:javascript
|
||||
$(function(){
|
||||
PerLineNotes.init();
|
||||
});
|
1
app/views/commit/show.patch.erb
Normal file
1
app/views/commit/show.patch.erb
Normal file
|
@ -0,0 +1 @@
|
|||
<%= @commit.to_patch %>
|
|
@ -1,16 +1,15 @@
|
|||
%li.commit
|
||||
.browse_code_link_holder
|
||||
%p
|
||||
%strong= link_to "Browse Code »", tree_project_ref_path(@project, commit.id), class: "right"
|
||||
%strong= link_to "Browse Code »", project_tree_path(@project, commit), class: "right"
|
||||
%p
|
||||
= link_to commit.short_id(8), project_commit_path(@project, id: commit.id), class: "commit_short_id"
|
||||
= link_to commit.short_id(8), project_commit_path(@project, commit), class: "commit_short_id"
|
||||
%strong.commit-author-name= commit.author_name
|
||||
%span.dash –
|
||||
= image_tag gravatar_icon(commit.author_email), class: "avatar", width: 16
|
||||
= link_to_gfm truncate(commit.title, length: 50), project_commit_path(@project, id: commit.id), class: "row_title"
|
||||
= link_to_gfm truncate(commit.title, length: 50), project_commit_path(@project, commit.id), class: "row_title"
|
||||
|
||||
%span.committed_ago
|
||||
= time_ago_in_words(commit.committed_date)
|
||||
ago
|
||||
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
%span.btn.disabled.grouped
|
||||
%i.icon-comment
|
||||
= @notes_count
|
||||
= link_to patch_project_commit_path(@project, @commit.id), class: "btn small grouped" do
|
||||
= link_to project_commit_path(@project, @commit, format: :patch), class: "btn small grouped" do
|
||||
%i.icon-download-alt
|
||||
Get Patch
|
||||
= link_to tree_project_ref_path(@project, @commit.id), class: "browse-button primary grouped" do
|
||||
= link_to project_tree_path(@project, @commit), class: "browse-button primary grouped" do
|
||||
%strong Browse Code »
|
||||
%h3.commit-title.page_title
|
||||
= gfm escape_once(@commit.title)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
%p To prevent performance issue we rejected diff information.
|
||||
%p
|
||||
But if you still want to see diff
|
||||
= link_to "click this link", project_commit_path(@project, @commit.id, force_show_diff: true), class: "dark"
|
||||
= link_to "click this link", project_commit_path(@project, @commit, force_show_diff: true), class: "dark"
|
||||
|
||||
%p.cgray
|
||||
Showing #{pluralize(diffs.count, "changed file")}
|
||||
|
@ -24,7 +24,7 @@
|
|||
%i.icon-file
|
||||
%span{id: "#{diff.old_path}"}= diff.old_path
|
||||
- else
|
||||
= link_to tree_file_project_ref_path(@project, @commit.id, diff.new_path) do
|
||||
= link_to project_tree_path(@project, tree_join(@commit.id, diff.new_path)) do
|
||||
%i.icon-file
|
||||
%span{id: "#{diff.new_path}"}= diff.new_path
|
||||
%br/
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
%ul.nav.nav-tabs
|
||||
%li= render partial: 'shared/ref_switcher', locals: {destination: 'commits'}
|
||||
%li{class: "#{'active' if current_page?(project_commits_path(@project)) }"}
|
||||
= link_to project_commits_path(@project) do
|
||||
Commits
|
||||
%li{class: "#{'active' if current_page?(compare_project_commits_path(@project)) }"}
|
||||
= link_to compare_project_commits_path(@project) do
|
||||
Compare
|
||||
%li{class: "#{branches_tab_class}"}
|
||||
|
||||
= nav_link(controller: [:commit, :commits]) do
|
||||
= link_to 'Commits', project_commits_path(@project, @project.root_ref)
|
||||
= nav_link(controller: :compare) do
|
||||
= link_to 'Compare', project_compare_index_path(@project)
|
||||
|
||||
= nav_link(html_options: {class: branches_tab_class}) do
|
||||
= link_to project_repository_path(@project) do
|
||||
Branches
|
||||
%span.badge= @project.repo.branch_count
|
||||
|
||||
%li{class: "#{'active' if current_page?(tags_project_repository_path(@project)) }"}
|
||||
= nav_link(controller: :repositories, action: :tags) do
|
||||
= link_to tags_project_repository_path(@project) do
|
||||
Tags
|
||||
%span.badge= @project.repo.tag_count
|
||||
|
||||
- if current_page?(project_commits_path(@project)) && current_user.private_token
|
||||
- if current_controller?(:commits) && current_user.private_token
|
||||
%li.right
|
||||
%span.rss-icon
|
||||
= link_to project_commits_path(@project, :atom, { private_token: current_user.private_token, ref: @ref }), title: "Feed" do
|
||||
= 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"
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
= render "head"
|
||||
|
||||
- if params[:path]
|
||||
%ul.breadcrumb
|
||||
%li
|
||||
%span.arrow
|
||||
= link_to project_commits_path(@project) do
|
||||
= @project.name
|
||||
%span.divider
|
||||
\/
|
||||
%li
|
||||
%a{href: "#"}= params[:path].split("/").join(" / ")
|
||||
|
||||
%div{id: dom_id(@project)}
|
||||
#commits_list= render "commits"
|
||||
.clear
|
||||
.loading{ style: "display:none;"}
|
||||
|
||||
- if @commits.count == @limit
|
||||
:javascript
|
||||
$(function(){
|
||||
CommitsList.init("#{@ref}", #{@limit});
|
||||
});
|
||||
|
|
@ -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 "Recent commits to #{@project.name}:#{@ref}"
|
||||
xml.link :href => project_commits_url(@project, :atom, :ref => @ref), :rel => "self", :type => "application/atom+xml"
|
||||
xml.link :href => project_commits_url(@project), :rel => "alternate", :type => "text/html"
|
||||
xml.link :href => project_commits_url(@project, @ref, format: :atom), :rel => "self", :type => "application/atom+xml"
|
||||
xml.link :href => project_commits_url(@project, @ref), :rel => "alternate", :type => "text/html"
|
||||
xml.id project_commits_url(@project)
|
||||
xml.updated @commits.first.committed_date.strftime("%Y-%m-%dT%H:%M:%SZ") if @commits.any?
|
||||
|
|
@ -1,10 +1,24 @@
|
|||
= render "commits/commit_box"
|
||||
= render "commits/diffs", diffs: @commit.diffs
|
||||
= render "notes/notes_with_form", tid: @commit.id, tt: "commit"
|
||||
= render "notes/per_line_form"
|
||||
= render "head"
|
||||
|
||||
- if @path.present?
|
||||
%ul.breadcrumb
|
||||
%li
|
||||
%span.arrow
|
||||
= link_to project_commits_path(@project) do
|
||||
= @project.name
|
||||
%span.divider
|
||||
\/
|
||||
%li
|
||||
%a{href: "#"}= @path.split("/").join(" / ")
|
||||
|
||||
%div{id: dom_id(@project)}
|
||||
#commits_list= render "commits"
|
||||
.clear
|
||||
.loading{ style: "display:none;"}
|
||||
|
||||
- if @commits.count == @limit
|
||||
:javascript
|
||||
$(function(){
|
||||
CommitsList.init("#{@ref}", #{@limit});
|
||||
});
|
||||
|
||||
:javascript
|
||||
$(function(){
|
||||
PerLineNotes.init();
|
||||
});
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
= render "head"
|
||||
|
||||
%h3.page_title
|
||||
Compare View
|
||||
%hr
|
||||
|
||||
%div
|
||||
%p.slead
|
||||
Fill input field with commit id like
|
||||
|
@ -14,7 +8,7 @@
|
|||
|
||||
%br
|
||||
|
||||
= form_tag compare_project_commits_path(@project), method: :get do
|
||||
= form_tag project_compare_index_path(@project), method: :post do
|
||||
.clearfix
|
||||
= text_field_tag :from, params[:from], placeholder: "master", class: "xlarge"
|
||||
= "..."
|
||||
|
@ -25,29 +19,14 @@
|
|||
.actions
|
||||
= submit_tag "Compare", class: "btn primary wide commits-compare-btn"
|
||||
|
||||
- if @commits.present?
|
||||
%div.ui-box
|
||||
%h5.small Commits (#{@commits.count})
|
||||
%ul.unstyled= render @commits
|
||||
|
||||
- unless @diffs.empty?
|
||||
%h4 Diff
|
||||
= render "commits/diffs", diffs: @diffs
|
||||
|
||||
:javascript
|
||||
$(function() {
|
||||
var availableTags = #{@project.ref_names.to_json};
|
||||
|
||||
$("#from").autocomplete({
|
||||
source: availableTags,
|
||||
minLength: 1
|
||||
});
|
||||
|
||||
$("#to").autocomplete({
|
||||
$("#from, #to").autocomplete({
|
||||
source: availableTags,
|
||||
minLength: 1
|
||||
});
|
||||
|
||||
disableButtonIfEmptyField('#to', '.commits-compare-btn');
|
||||
});
|
||||
|
7
app/views/compare/index.html.haml
Normal file
7
app/views/compare/index.html.haml
Normal file
|
@ -0,0 +1,7 @@
|
|||
= render "commits/head"
|
||||
|
||||
%h3.page_title
|
||||
Compare View
|
||||
%hr
|
||||
|
||||
= render "form"
|
16
app/views/compare/show.html.haml
Normal file
16
app/views/compare/show.html.haml
Normal file
|
@ -0,0 +1,16 @@
|
|||
= render "commits/head"
|
||||
|
||||
%h3.page_title
|
||||
Compare View
|
||||
%hr
|
||||
|
||||
= render "form"
|
||||
|
||||
- if @commits.present?
|
||||
%div.ui-box
|
||||
%h5.small Commits (#{@commits.count})
|
||||
%ul.unstyled= render @commits
|
||||
|
||||
- unless @diffs.empty?
|
||||
%h4 Diff
|
||||
= render "commits/diffs", diffs: @diffs
|
|
@ -1,7 +1,7 @@
|
|||
- commit = CommitDecorator.decorate(commit)
|
||||
%li.commit
|
||||
%p
|
||||
= link_to commit.short_id(8), project_commit_path(project, id: commit.id), class: "commit_short_id"
|
||||
= link_to commit.short_id(8), project_commit_path(project, commit), class: "commit_short_id"
|
||||
%span= commit.author_name
|
||||
–
|
||||
= image_tag gravatar_icon(commit.author_email), class: "avatar", width: 16
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
= image_tag gravatar_icon(event.author_email), class: "avatar"
|
||||
%span You pushed to
|
||||
= event.ref_type
|
||||
= link_to project_commits_path(event.project, ref: event.ref_name) do
|
||||
= link_to project_commits_path(event.project, event.ref_name) do
|
||||
%strong= truncate(event.ref_name, length: 28)
|
||||
at
|
||||
%strong= link_to event.project.name, event.project
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
.event-title
|
||||
%strong.author_name #{event.author_name}
|
||||
%span.event_label.pushed #{event.push_action_name} #{event.ref_type}
|
||||
= link_to project_commits_path(event.project, ref: event.ref_name) do
|
||||
= link_to project_commits_path(event.project, event.ref_name) do
|
||||
%strong= event.ref_name
|
||||
at
|
||||
%strong= link_to event.project.name, event.project
|
||||
|
@ -21,6 +21,6 @@
|
|||
%li.commits-stat
|
||||
- if event.commits_count > 2
|
||||
%span ... and #{event.commits_count - 2} more commits.
|
||||
= link_to compare_project_commits_path(event.project, from: event.parent_commit.id, to: event.last_commit.id) do
|
||||
= link_to project_compare_path(event.project, from: event.parent_commit.id, to: event.last_commit.id) do
|
||||
%strong Compare → #{event.parent_commit.id[0..7]}...#{event.last_commit.id[0..7]}
|
||||
.clearfix
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
%ul.nav.nav-tabs
|
||||
%li{class: "#{'active' if current_page?(project_issues_path(@project))}"}
|
||||
= link_to project_issues_path(@project), class: "tab" do
|
||||
Browse Issues
|
||||
%li{class: "#{'active' if current_page?(project_milestones_path(@project))}"}
|
||||
= link_to project_milestones_path(@project), class: "tab" do
|
||||
Milestones
|
||||
%li{class: "#{'active' if current_page?(project_labels_path(@project))}"}
|
||||
= link_to project_labels_path(@project), class: "tab" do
|
||||
Labels
|
||||
= nav_link(controller: :issues) do
|
||||
= link_to 'Browse Issues', project_issues_path(@project), class: "tab"
|
||||
= nav_link(controller: :milestones) do
|
||||
= link_to 'Milestones', project_milestones_path(@project), class: "tab"
|
||||
= nav_link(controller: :labels) do
|
||||
= link_to 'Labels', project_labels_path(@project), class: "tab"
|
||||
%li.right
|
||||
%span.rss-icon
|
||||
= link_to project_issues_path(@project, :atom, { private_token: current_user.private_token }) do
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
%ul.main_menu
|
||||
%li.home{class: tab_class(:root)}
|
||||
= link_to "Home", root_path, title: "Home"
|
||||
|
||||
%li{class: tab_class(:dash_issues)}
|
||||
= link_to dashboard_issues_path do
|
||||
Issues
|
||||
%span.count= current_user.assigned_issues.opened.count
|
||||
|
||||
%li{class: tab_class(:dash_mr)}
|
||||
= link_to dashboard_merge_requests_path do
|
||||
Merge Requests
|
||||
%span.count= current_user.cared_merge_requests.count
|
||||
|
||||
%li{class: tab_class(:search)}
|
||||
= link_to "Search", search_path
|
||||
|
||||
%li{class: tab_class(:help)}
|
||||
= link_to "Help", help_path
|
|
@ -10,8 +10,8 @@
|
|||
- if controller_name == 'projects' && action_name == 'index'
|
||||
= auto_discovery_link_tag :atom, projects_url(:atom, private_token: current_user.private_token), title: "Dashboard feed"
|
||||
- if @project && !@project.new_record?
|
||||
- if current_page?(tree_project_ref_path(@project, @project.root_ref)) || current_page?(project_commits_path(@project))
|
||||
= auto_discovery_link_tag(:atom, project_commits_url(@project, :atom, ref: @ref, private_token: current_user.private_token), title: "Recent commits to #{@project.name}:#{@ref}")
|
||||
- if request.path == project_issues_path(@project)
|
||||
- if current_controller?(:tree, :commits)
|
||||
= auto_discovery_link_tag(:atom, project_commits_url(@project, @ref, format: :atom, private_token: current_user.private_token), title: "Recent commits to #{@project.name}:#{@ref}")
|
||||
- if current_controller?(:issues)
|
||||
= auto_discovery_link_tag(:atom, project_issues_url(@project, :atom, private_token: current_user.private_token), title: "#{@project.name} issues")
|
||||
= csrf_meta_tags
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
%ul.main_menu
|
||||
%li.home{class: project_tab_class}
|
||||
= link_to @project.code, project_path(@project), title: "Project"
|
||||
|
||||
- if @project.repo_exists?
|
||||
- if can? current_user, :download_code, @project
|
||||
%li{class: tree_tab_class}
|
||||
= link_to tree_project_ref_path(@project, @project.root_ref) do
|
||||
Files
|
||||
%li{class: commit_tab_class}
|
||||
= link_to "Commits", project_commits_path(@project)
|
||||
|
||||
%li{class: tab_class(:network)}
|
||||
= link_to "Network", graph_project_path(@project)
|
||||
|
||||
- if @project.issues_enabled
|
||||
%li{class: tab_class(:issues)}
|
||||
= link_to project_issues_filter_path(@project) do
|
||||
Issues
|
||||
%span.count.issue_counter= @project.issues.opened.count
|
||||
|
||||
- if @project.repo_exists?
|
||||
- if @project.merge_requests_enabled
|
||||
%li{class: tab_class(:merge_requests)}
|
||||
= link_to project_merge_requests_path(@project) do
|
||||
Merge Requests
|
||||
%span.count.merge_counter= @project.merge_requests.opened.count
|
||||
|
||||
- if @project.wall_enabled
|
||||
%li{class: tab_class(:wall)}
|
||||
= link_to wall_project_path(@project) do
|
||||
Wall
|
||||
|
||||
- if @project.wiki_enabled
|
||||
%li{class: tab_class(:wiki)}
|
||||
= link_to project_wiki_path(@project, :index) do
|
||||
Wiki
|
|
@ -6,17 +6,17 @@
|
|||
= render "layouts/head_panel", title: "Admin area"
|
||||
.container
|
||||
%ul.main_menu
|
||||
%li.home{class: tab_class(:admin_root)}
|
||||
= nav_link(controller: :dashboard, html_options: {class: 'home'}) do
|
||||
= link_to "Stats", admin_root_path
|
||||
%li{class: tab_class(:admin_projects)}
|
||||
= nav_link(controller: :projects) do
|
||||
= link_to "Projects", admin_projects_path
|
||||
%li{class: tab_class(:admin_users)}
|
||||
= nav_link(controller: :users) do
|
||||
= link_to "Users", admin_users_path
|
||||
%li{class: tab_class(:admin_logs)}
|
||||
= nav_link(controller: :logs) do
|
||||
= link_to "Logs", admin_logs_path
|
||||
%li{class: tab_class(:admin_hooks)}
|
||||
= nav_link(controller: :hooks) do
|
||||
= link_to "Hooks", admin_hooks_path
|
||||
%li{class: tab_class(:admin_resque)}
|
||||
= nav_link(controller: :resque) do
|
||||
= link_to "Resque", admin_resque_path
|
||||
|
||||
.content= yield
|
||||
|
|
|
@ -5,6 +5,20 @@
|
|||
= render "layouts/flash"
|
||||
= render "layouts/head_panel", title: "Dashboard"
|
||||
.container
|
||||
= render partial: "layouts/app_menu"
|
||||
.content
|
||||
= yield
|
||||
%ul.main_menu
|
||||
= nav_link(path: 'dashboard#index', html_options: {class: 'home'}) do
|
||||
= link_to "Home", root_path, title: "Home"
|
||||
= nav_link(path: 'dashboard#issues') do
|
||||
= link_to dashboard_issues_path do
|
||||
Issues
|
||||
%span.count= current_user.assigned_issues.opened.count
|
||||
= nav_link(path: 'dashboard#merge_requests') do
|
||||
= link_to dashboard_merge_requests_path do
|
||||
Merge Requests
|
||||
%span.count= current_user.cared_merge_requests.count
|
||||
= nav_link(path: 'search#show') do
|
||||
= link_to "Search", search_path
|
||||
= nav_link(path: 'help#index') do
|
||||
= link_to "Help", help_path
|
||||
|
||||
.content= yield
|
||||
|
|
|
@ -6,23 +6,17 @@
|
|||
= render "layouts/head_panel", title: "Profile"
|
||||
.container
|
||||
%ul.main_menu
|
||||
%li.home{class: tab_class(:profile)}
|
||||
= nav_link(path: 'profile#show', html_options: {class: 'home'}) do
|
||||
= link_to "Profile", profile_path
|
||||
|
||||
%li{class: tab_class(:account)}
|
||||
= nav_link(path: 'profile#account') do
|
||||
= link_to "Account", profile_account_path
|
||||
|
||||
%li{class: tab_class(:ssh_keys)}
|
||||
= nav_link(controller: :keys) do
|
||||
= link_to keys_path do
|
||||
SSH Keys
|
||||
%span.count= current_user.keys.count
|
||||
|
||||
%li{class: tab_class(:design)}
|
||||
= nav_link(path: 'profile#design') do
|
||||
= link_to "Design", profile_design_path
|
||||
|
||||
%li{class: tab_class(:history)}
|
||||
= nav_link(path: 'profile#history') do
|
||||
= link_to "History", profile_history_path
|
||||
|
||||
|
||||
.content
|
||||
= yield
|
||||
.content= yield
|
||||
|
|
|
@ -5,7 +5,37 @@
|
|||
= render "layouts/flash"
|
||||
= render "layouts/head_panel", title: @project.name
|
||||
.container
|
||||
= render partial: "layouts/project_menu"
|
||||
.content
|
||||
= yield
|
||||
%ul.main_menu
|
||||
= nav_link(html_options: {class: "home #{project_tab_class}"}) do
|
||||
= link_to @project.code, project_path(@project), title: "Project"
|
||||
|
||||
- if @project.repo_exists?
|
||||
- if can? current_user, :download_code, @project
|
||||
= nav_link(controller: %w(tree blob blame)) do
|
||||
= link_to 'Files', project_tree_path(@project, @ref || @project.root_ref)
|
||||
= nav_link(controller: %w(commit commits compare repositories protected_branches)) do
|
||||
= link_to "Commits", project_commits_path(@project, @ref || @project.root_ref)
|
||||
= nav_link(path: 'projects#graph') do
|
||||
= link_to "Network", graph_project_path(@project)
|
||||
|
||||
- if @project.issues_enabled
|
||||
= nav_link(controller: %w(issues milestones labels)) do
|
||||
= link_to project_issues_filter_path(@project) do
|
||||
Issues
|
||||
%span.count.issue_counter= @project.issues.opened.count
|
||||
|
||||
- if @project.repo_exists? && @project.merge_requests_enabled
|
||||
= nav_link(controller: :merge_requests) do
|
||||
= link_to project_merge_requests_path(@project) do
|
||||
Merge Requests
|
||||
%span.count.merge_counter= @project.merge_requests.opened.count
|
||||
|
||||
- if @project.wall_enabled
|
||||
= nav_link(path: 'projects#wall') do
|
||||
= link_to 'Wall', wall_project_path(@project)
|
||||
|
||||
- if @project.wiki_enabled
|
||||
= nav_link(controller: :wikis) do
|
||||
= link_to 'Wiki', project_wiki_path(@project, :index)
|
||||
|
||||
.content= yield
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
%ul.nav.nav-tabs
|
||||
%li{ class: "#{'active' if current_page?(project_path(@project)) }" }
|
||||
= nav_link(path: 'projects#show') do
|
||||
= link_to project_path(@project), class: "activities-tab tab" do
|
||||
%i.icon-home
|
||||
Show
|
||||
%li{ class: " #{'active' if (controller.controller_name == "team_members") || current_page?(project_team_index_path(@project)) }" }
|
||||
= nav_link(controller: :team_members) do
|
||||
= link_to project_team_index_path(@project), class: "team-tab tab" do
|
||||
%i.icon-user
|
||||
Team
|
||||
%li{ class: "#{'active' if current_page?(files_project_path(@project)) }" }
|
||||
= link_to files_project_path(@project), class: "files-tab tab " do
|
||||
Attachments
|
||||
%li{ class: " #{'active' if (controller.controller_name == "snippets") }" }
|
||||
= link_to project_snippets_path(@project), class: "snippets-tab tab" do
|
||||
Snippets
|
||||
= nav_link(path: 'projects#files') do
|
||||
= link_to 'Attachments', files_project_path(@project), class: "files-tab tab"
|
||||
= nav_link(controller: :snippets) do
|
||||
= link_to 'Snippets', project_snippets_path(@project), class: "snippets-tab tab"
|
||||
|
||||
- if can? current_user, :admin_project, @project
|
||||
%li.right{class: "#{'active' if controller.controller_name == "deploy_keys"}"}
|
||||
= nav_link(controller: :deploy_keys, html_options: {class: 'right'}) do
|
||||
= link_to project_deploy_keys_path(@project) do
|
||||
%span
|
||||
Deploy Keys
|
||||
%li.right{class: "#{'active' if controller.controller_name == "hooks" }"}
|
||||
= nav_link(controller: :hooks, html_options: {class: 'right'}) do
|
||||
= link_to project_hooks_path(@project) do
|
||||
%span
|
||||
Hooks
|
||||
%li.right{ class: "#{'active' if current_page?(edit_project_path(@project)) }" }
|
||||
= nav_link(path: 'projects#edit', html_options: {class: 'right'}) do
|
||||
= link_to edit_project_path(@project), class: "stat-tab tab " do
|
||||
%i.icon-edit
|
||||
Edit
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
- @branches.each do |branch|
|
||||
%tr
|
||||
%td
|
||||
= link_to project_commits_path(@project, ref: branch.name) do
|
||||
= link_to project_commits_path(@project, branch.name) do
|
||||
%strong= branch.name
|
||||
- if branch.name == @project.root_ref
|
||||
%span.label default
|
||||
|
|
|
@ -6,4 +6,4 @@
|
|||
:plain
|
||||
var row = $("table.table_#{@hex_path} tr.file_#{hexdigest(file_name)}");
|
||||
row.find("td.tree_time_ago").html('#{escape_javascript(time_ago_in_words(content_commit.committed_date))} ago');
|
||||
row.find("td.tree_commit").html('#{escape_javascript(render("tree_commit", tm: tm, content_commit: content_commit))}');
|
||||
row.find("td.tree_commit").html('#{escape_javascript(render("tree/tree_commit", tm: tm, content_commit: content_commit))}');
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
= render "head"
|
||||
#tree-holder= render partial: "tree", locals: {repo: @repo, commit: @commit, tree: @tree}
|
||||
|
||||
:javascript
|
||||
$(function() {
|
||||
Tree.init();
|
||||
});
|
|
@ -2,12 +2,12 @@
|
|||
- commit = CommitDecorator.decorate(commit)
|
||||
%tr
|
||||
%td
|
||||
= link_to project_commits_path(@project, ref: branch.name) do
|
||||
= link_to project_commits_path(@project, branch.name) do
|
||||
%strong= truncate(branch.name, length: 60)
|
||||
- if branch.name == @project.root_ref
|
||||
%span.label default
|
||||
%td
|
||||
= link_to project_commit_path(@project, id: commit.id) do
|
||||
= link_to project_commit_path(@project, commit) do
|
||||
%code= commit.short_id
|
||||
|
||||
= image_tag gravatar_icon(commit.author_email), class: "", width: 16
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
= render "commits/head"
|
||||
%ul.nav.nav-pills
|
||||
%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
|
||||
= nav_link(path: 'repositories#show') do
|
||||
= link_to 'Recent', project_repository_path(@project)
|
||||
= nav_link(path: 'protected_branches#index') do
|
||||
= link_to 'Protected', project_protected_branches_path(@project)
|
||||
= nav_link(path: 'repositories#branches') do
|
||||
= link_to 'All', branches_project_repository_path(@project)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- commit = CommitDecorator.new(commit)
|
||||
%tr
|
||||
%td
|
||||
= link_to project_commits_path(@project, ref: commit.head.name) do
|
||||
= link_to project_commits_path(@project, commit.head.name) do
|
||||
%strong
|
||||
= commit.head.name
|
||||
- if commit.head.name == @project.root_ref
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
- commit = CommitDecorator.decorate(commit)
|
||||
%tr
|
||||
%td
|
||||
%strong= link_to tag.name, project_commits_path(@project, ref: tag.name), class: ""
|
||||
%strong= link_to tag.name, project_commits_path(@project, tag.name), class: ""
|
||||
%td
|
||||
= link_to project_commit_path(@project, commit.id) do
|
||||
%code= commit.short_id
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
= form_tag switch_project_refs_path(@project), method: :get, class: "project-refs-form" do
|
||||
= select_tag "ref", grouped_options_refs, class: "project-refs-select chosen"
|
||||
= hidden_field_tag :destination, destination
|
||||
- if respond_to?(:path)
|
||||
- if defined?(path)
|
||||
= hidden_field_tag :path, path
|
||||
|
|
10
app/views/tree/_head.html.haml
Normal file
10
app/views/tree/_head.html.haml
Normal file
|
@ -0,0 +1,10 @@
|
|||
%ul.nav.nav-tabs
|
||||
%li
|
||||
= render partial: 'shared/ref_switcher', locals: {destination: 'tree', path: @path}
|
||||
= nav_link(controller: :tree) do
|
||||
= link_to 'Source', project_tree_path(@project, @ref)
|
||||
%li.right
|
||||
.input-prepend.project_clone_holder
|
||||
%button{class: "btn small active", :"data-clone" => @project.ssh_url_to_repo} SSH
|
||||
%button{class: "btn small", :"data-clone" => @project.http_url_to_repo} HTTP
|
||||
= text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5"
|
|
@ -1,7 +1,7 @@
|
|||
%ul.breadcrumb
|
||||
%li
|
||||
%span.arrow
|
||||
= link_to tree_project_ref_path(@project, @ref, path: nil), remote: true do
|
||||
= link_to project_tree_path(@project, @ref), remote: true do
|
||||
= @project.name
|
||||
- tree.breadcrumbs(6) do |link|
|
||||
\/
|
||||
|
@ -10,7 +10,7 @@
|
|||
%div.tree_progress
|
||||
#tree-content-holder
|
||||
- if tree.is_blob?
|
||||
= render partial: "refs/tree_file", locals: { name: tree.name, content: tree.data, file: tree }
|
||||
= render partial: "tree/tree_file", locals: { name: tree.name, content: tree.data, file: tree }
|
||||
- else
|
||||
- contents = tree.contents
|
||||
%table#tree-slider{class: "table_#{@hex_path}" }
|
||||
|
@ -31,11 +31,11 @@
|
|||
|
||||
- index = 0
|
||||
- contents.select{ |i| i.is_a?(Grit::Tree)}.each do |content|
|
||||
= render partial: "refs/tree_item", locals: { content: content, index: (index += 1) }
|
||||
= render partial: "tree/tree_item", locals: { content: content, index: (index += 1) }
|
||||
- contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content|
|
||||
= render partial: "refs/tree_item", locals: { content: content, index: (index += 1) }
|
||||
= render partial: "tree/tree_item", locals: { content: content, index: (index += 1) }
|
||||
- contents.select{ |i| i.is_a?(Grit::Submodule)}.each do |content|
|
||||
= render partial: "refs/submodule_item", locals: { content: content, index: (index += 1) }
|
||||
= render partial: "tree/submodule_item", locals: { content: content, index: (index += 1) }
|
||||
|
||||
- if content = contents.select{ |c| c.is_a?(Grit::Blob) and c.name =~ /^readme/i }.first
|
||||
.file_holder#README
|
|
@ -5,9 +5,9 @@
|
|||
= name.force_encoding('utf-8')
|
||||
%small #{file.mode}
|
||||
%span.options
|
||||
= link_to "raw", blob_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small", target: "_blank"
|
||||
= link_to "history", project_commits_path(@project, path: params[:path], ref: @ref), class: "btn very_small"
|
||||
= link_to "blame", blame_file_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small"
|
||||
= link_to "raw", project_blob_path(@project, @id), class: "btn very_small", target: "_blank"
|
||||
= link_to "history", project_commits_path(@project, @id), class: "btn very_small"
|
||||
= link_to "blame", project_blame_path(@project, @id), class: "btn very_small"
|
||||
- if file.text?
|
||||
- if gitlab_markdown?(name)
|
||||
.file_content.wiki
|
||||
|
@ -32,7 +32,7 @@
|
|||
- else
|
||||
.file_content.blob_file
|
||||
%center
|
||||
= link_to blob_project_ref_path(@project, @ref, path: params[:path]) do
|
||||
= link_to project_blob_path(@project, @id) do
|
||||
%div.padded
|
||||
%br
|
||||
= image_tag "download.png", width: 64
|
|
@ -1,8 +1,8 @@
|
|||
- file = tree_full_path(content)
|
||||
%tr{ class: "tree-item #{tree_hex_class(content)}", url: tree_file_project_ref_path(@project, @ref, file) }
|
||||
%tr{ class: "tree-item #{tree_hex_class(content)}", url: project_tree_path(@project, tree_join(@id, file)) }
|
||||
%td.tree-item-file-name
|
||||
= tree_icon(content)
|
||||
%strong= link_to truncate(content.name, length: 40), tree_file_project_ref_path(@project, @ref || @commit.id, file), remote: :true
|
||||
%strong= link_to truncate(content.name, length: 40), project_tree_path(@project, tree_join(@id || @commit.id, file)), remote: :true
|
||||
%td.tree_time_ago.cgray
|
||||
- if index == 1
|
||||
%span.log_loading
|
7
app/views/tree/show.html.haml
Normal file
7
app/views/tree/show.html.haml
Normal file
|
@ -0,0 +1,7 @@
|
|||
= render "head"
|
||||
#tree-holder= render partial: "tree", locals: {commit: @commit, tree: @tree}
|
||||
|
||||
:javascript
|
||||
$(function() {
|
||||
Tree.init();
|
||||
});
|
|
@ -1,8 +1,8 @@
|
|||
:plain
|
||||
// Load Files list
|
||||
$("#tree-holder").html("#{escape_javascript(render(partial: "tree", locals: {repo: @repo, commit: @commit, tree: @tree}))}");
|
||||
$("#tree-holder").html("#{escape_javascript(render(partial: "tree", locals: {commit: @commit, tree: @tree}))}");
|
||||
$("#tree-content-holder").show("slide", { direction: "right" }, 150);
|
||||
$('.project-refs-form #path').val("#{params[:path]}");
|
||||
$('.project-refs-form #path').val("#{@path}");
|
||||
|
||||
// Load last commit log for each file in tree
|
||||
$('#tree-slider').waitForImages(function() {
|
Loading…
Add table
Add a link
Reference in a new issue