Commit 153f6cd8 authored by gitlabhq's avatar gitlabhq

refactoring + remove unnecessary feature

parent 2d577cae
...@@ -42,15 +42,23 @@ class ApplicationController < ActionController::Base ...@@ -42,15 +42,23 @@ class ApplicationController < ActionController::Base
end end
end end
def refs_from_cookie def load_refs
if @project && session[:ui] && @branch = unless params[:branch].blank?
session[:ui][@project.id] params[:branch]
project_session = session[:ui][@project.id] else
project_session[:branch] = nil if params[:tag] nil
params[:branch] ||= project_session[:branch] end
params[:tag] ||= project_session[:tag]
end @tag = unless params[:tag].blank?
rescue params[:tag]
session[:ui] = nil else
nil
end
@ref = @branch || @tag || "master"
end
def render_404
render :file => File.join(Rails.root, "public", "404"), :layout => false, :status => "404"
end end
end end
...@@ -8,20 +8,14 @@ class CommitsController < ApplicationController ...@@ -8,20 +8,14 @@ class CommitsController < ApplicationController
before_filter :authorize_read_project! before_filter :authorize_read_project!
def index def index
refs_from_cookie load_refs # load @branch, @tag & @ref
@repo = project.repo @repo = project.repo
@branch = if !params[:branch].blank?
params[:branch]
elsif !params[:tag].blank?
params[:tag]
else
"master"
end
if params[:path] if params[:path]
@commits = @repo.log(@branch, params[:path], :max_count => params[:limit] || 100, :skip => params[:offset] || 0) @commits = @repo.log(@ref, params[:path], :max_count => params[:limit] || 100, :skip => params[:offset] || 0)
else else
@commits = @repo.commits(@branch, params[:limit] || 100, params[:offset] || 0) @commits = @repo.commits(@ref, params[:limit] || 100, params[:offset] || 0)
end end
respond_to do |format| respond_to do |format|
......
...@@ -16,7 +16,6 @@ class ProjectsController < ApplicationController ...@@ -16,7 +16,6 @@ class ProjectsController < ApplicationController
end end
def show def show
refs_from_cookie
@repo = project.repo @repo = project.repo
@commit = @repo.commits.first @commit = @repo.commits.first
@tree = @commit.tree @tree = @commit.tree
...@@ -33,34 +32,30 @@ class ProjectsController < ApplicationController ...@@ -33,34 +32,30 @@ class ProjectsController < ApplicationController
end end
def tree def tree
refs_from_cookie load_refs # load @branch, @tag & @ref
@repo = project.repo @repo = project.repo
@branch = if !params[:branch].blank?
params[:branch]
elsif !params[:tag].blank?
params[:tag]
else
"master"
end
if params[:commit_id] if params[:commit_id]
@commit = @repo.commits(params[:commit_id]).first @commit = @repo.commits(params[:commit_id]).first
else else
@commit = @repo.commits(@branch || "master").first @commit = @repo.commits(@ref || "master").first
end end
@tree = @commit.tree @tree = @commit.tree
@tree = @tree / params[:path] if params[:path] @tree = @tree / params[:path] if params[:path]
respond_to do |format| respond_to do |format|
format.html # show.html.erb format.html # show.html.erb
format.js do format.js do
# temp solution # diasbale cache to allow back button works
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate" response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache" response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT" response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end end
format.json { render json: project }
end end
rescue
return render_404
end end
def blob def blob
...@@ -73,6 +68,8 @@ class ProjectsController < ApplicationController ...@@ -73,6 +68,8 @@ class ProjectsController < ApplicationController
else else
head(404) head(404)
end end
rescue
return render_404
end end
def new def new
......
...@@ -3,12 +3,4 @@ module ProjectsHelper ...@@ -3,12 +3,4 @@ module ProjectsHelper
cookies["project_view"] ||= "tile" cookies["project_view"] ||= "tile"
cookies["project_view"] == type ? nil : "display:none" cookies["project_view"] == type ? nil : "display:none"
end end
def remember_refs
session[:ui] ||= {}
session[:ui][@project.id] = {
:branch => params[:branch],
:tag => params[:tag]
}
end
end end
...@@ -6,12 +6,10 @@ ...@@ -6,12 +6,10 @@
&nbsp; &nbsp;
.left.prepend-1 .left.prepend-1
= form_tag project_commits_path(@project), :method => :get do = form_tag project_commits_path(@project), :method => :get do
= select_tag "tag", options_for_select(@project.tags, @branch), :onchange => "this.form.submit();", :class => "", :prompt => "Tags" = select_tag "tag", options_for_select(@project.tags, @tag), :onchange => "this.form.submit();", :class => "", :prompt => "Tags"
= text_field_tag "ssh", @project.url_to_repo, :class => ["ssh_project_url", "one_click_select"] = text_field_tag "ssh", @project.url_to_repo, :class => ["ssh_project_url", "one_click_select"]
.clear .clear
- if params[:path] - if params[:path]
%h3{:style => "color:#555"} /#{params[:path]} %h3{:style => "color:#555"} /#{params[:path]}
%div{:id => dom_id(@project)} %div{:id => dom_id(@project)}
= render "commits" = render "commits"
- remember_refs
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
&nbsp; &nbsp;
.left.prepend-1 .left.prepend-1
= form_tag tree_project_path(@project), :method => :get do = form_tag tree_project_path(@project), :method => :get do
= select_tag "tag", options_for_select(@project.tags, @branch), :onchange => "this.form.submit();", :class => "", :prompt => "Tags" = select_tag "tag", options_for_select(@project.tags, @tag), :onchange => "this.form.submit();", :class => "", :prompt => "Tags"
= text_field_tag "ssh", @project.url_to_repo, :class => ["ssh_project_url","one_click_select"] = text_field_tag "ssh", @project.url_to_repo, :class => ["ssh_project_url","one_click_select"]
.clear .clear
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
- if part_path.empty? - if part_path.empty?
- part_path = part - part_path = part
\/ \/
= link_to truncate(part, :length => 40), tree_file_project_path(@project, :path => part_path, :commit_id => @commit.try(:id)), :remote => :true = link_to truncate(part, :length => 40), tree_file_project_path(@project, :path => part_path, :commit_id => @commit.try(:id), :branch => @branch, :tag => @tag), :remote => :true
#tree-content-holder #tree-content-holder
- if tree.is_a?(Grit::Blob) - if tree.is_a?(Grit::Blob)
= render :partial => "projects/tree_file", :locals => { :name => tree.name, :content => tree.data, :file => tree } = render :partial => "projects/tree_file", :locals => { :name => tree.name, :content => tree.data, :file => tree }
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
%tr{ :class => "tree-item", :url => tree_file_project_path(@project, @commit.id, file) } %tr{ :class => "tree-item", :url => tree_file_project_path(@project, @commit.id, file) }
%td.tree-item-file-name %td.tree-item-file-name
= image_tag "dir.png" = image_tag "dir.png"
= link_to "..", tree_file_project_path(@project, @commit.id, file), :remote => :true = link_to "..", tree_file_project_path(@project, @commit.id, file, :branch => @branch, :tag => @tag), :remote => :true
%td %td
%td %td
...@@ -45,9 +45,6 @@ ...@@ -45,9 +45,6 @@
- contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content| - contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content|
= render :partial => "projects/tree_item", :locals => { :content => content } = render :partial => "projects/tree_item", :locals => { :content => content }
- remember_refs
:javascript :javascript
$(function(){ $(function(){
$('select#branch').selectmenu({style:'popup', width:200}); $('select#branch').selectmenu({style:'popup', width:200});
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
= image_tag "txt.png" = image_tag "txt.png"
- else - else
= image_tag "dir.png" = image_tag "dir.png"
= link_to truncate(content.name, :length => 40), tree_file_project_path(@project, @commit.id, file), :remote => :true = link_to truncate(content.name, :length => 40), tree_file_project_path(@project, @commit.id, file, :branch => @branch, :tag => @tag), :remote => :true
%td %td
= time_ago_in_words(content_commit.committed_date) = time_ago_in_words(content_commit.committed_date)
ago ago
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment