From a2eda66b30d737e3ca1a5fc17a7f36416939a41f Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Jul 2012 21:51:48 +0300 Subject: [PATCH] Disable issues sort. Recent issues on top. Fixed tests --- app/assets/javascripts/issues.js | 2 -- app/assets/stylesheets/gitlab_bootstrap.scss | 1 + app/mailers/notify.rb | 3 ++- app/models/project.rb | 2 +- app/views/issues/_show.html.haml | 1 + app/views/issues/index.html.haml | 21 --------------- app/views/issues/index.js.haml | 1 - config/initializers/1_settings.rb | 11 +++++--- lib/color.rb | 2 ++ spec/mailers/notify_spec.rb | 28 +++++++++----------- spec/models/project_hooks_spec.rb | 2 +- spec/models/project_spec.rb | 2 +- 12 files changed, 29 insertions(+), 47 deletions(-) diff --git a/app/assets/javascripts/issues.js b/app/assets/javascripts/issues.js index 69ed4161..49936e3f 100644 --- a/app/assets/javascripts/issues.js +++ b/app/assets/javascripts/issues.js @@ -51,7 +51,6 @@ function initIssuesSearch() { if (terms.length >= 2 || terms.length == 0) { $.get(href, { 'f': status, 'terms': terms, 'milestone_id': milestone_id }, function(response) { $('#issues-table').html(response); - setSortable(); }); } } @@ -68,7 +67,6 @@ function initIssuesSearch() { */ function issuesPage(){ initIssuesSearch(); - setSortable(); $("#label_name").chosen(); $("#assignee_id").chosen(); $("#milestone_id").chosen(); diff --git a/app/assets/stylesheets/gitlab_bootstrap.scss b/app/assets/stylesheets/gitlab_bootstrap.scss index 8c7d6989..fa8d544e 100644 --- a/app/assets/stylesheets/gitlab_bootstrap.scss +++ b/app/assets/stylesheets/gitlab_bootstrap.scss @@ -201,6 +201,7 @@ a:focus { .cred { color:#D12F19; } .cgreen { color:#44aa22; } .cblack { color:#111; } +.cdark { color:#444 } .cwhite { color:#fff !important } /** COMMON STYLES **/ diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb index 37b442bc..ee738b4c 100644 --- a/app/mailers/notify.rb +++ b/app/mailers/notify.rb @@ -2,8 +2,9 @@ class Notify < ActionMailer::Base include Resque::Mailer add_template_helper ApplicationHelper - default_url_options[:host] = Gitlab.config.web_host + default_url_options[:host] = Gitlab.config.web_host default_url_options[:protocol] = Gitlab.config.web_protocol + default_url_options[:port] = Gitlab.config.web_port default from: Gitlab.config.email_from diff --git a/app/models/project.rb b/app/models/project.rb index 7cbc8928..cfdaa3f9 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -13,7 +13,7 @@ class Project < ActiveRecord::Base has_many :users, :through => :users_projects has_many :events, :dependent => :destroy has_many :merge_requests, :dependent => :destroy - has_many :issues, :dependent => :destroy, :order => "closed, position" + has_many :issues, :dependent => :destroy, :order => "closed, created_at DESC" has_many :milestones, :dependent => :destroy has_many :users_projects, :dependent => :destroy has_many :notes, :dependent => :destroy diff --git a/app/views/issues/_show.html.haml b/app/views/issues/_show.html.haml index 797d2387..7488032f 100644 --- a/app/views/issues/_show.html.haml +++ b/app/views/issues/_show.html.haml @@ -29,6 +29,7 @@ %p.row_title= truncate(issue.title, :length => 100) %span.update-author + %small.cdark= "##{issue.id}" - if issue.assignee assigned to #{issue.assignee_name} - else diff --git a/app/views/issues/index.html.haml b/app/views/issues/index.html.haml index a8d0e9ca..7328fa88 100644 --- a/app/views/issues/index.html.haml +++ b/app/views/issues/index.html.haml @@ -46,24 +46,3 @@ $(function(){ issuesPage(); }) - - function setSortable(){ - $('#issues-table').sortable({ - axis: 'y', - dropOnEmpty: false, - handle: '.avatar', - items: 'li', - opacity: 0.4, - scroll: true, - update: function(){ - $.ajax({ - type: 'post', - data: $('#issues-table').sortable('serialize'), - dataType: 'script', - complete: function(request){ - $('#issues-table').effect('highlight'); - }, - url: "#{sort_project_issues_path(@project)}"}) - } - }); - } diff --git a/app/views/issues/index.js.haml b/app/views/issues/index.js.haml index a534cfbf..48d7f582 100644 --- a/app/views/issues/index.js.haml +++ b/app/views/issues/index.js.haml @@ -1,3 +1,2 @@ :plain $('#issues-table').html("#{escape_javascript(render('issues'))}"); - setSortable(); diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 7142047d..a3b9ddd0 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -3,7 +3,7 @@ class Settings < Settingslogic class << self def web_protocol - self.web['protocol'] ||= web.https ? "https://" : "http://" + self.web['protocol'] ||= web.https ? "https" : "http" end def web_host @@ -18,10 +18,15 @@ class Settings < Settingslogic self['url'] ||= build_url end + def web_port + web['port'] ||= 80 + end + def build_url raw_url = self.web_protocol - raw_url << web.host - raw_url << ":#{web.port}" if web.port.to_i != 80 + raw_url << "://" + raw_url << web_host + raw_url << ":#{web_port}" if web_port.to_i != 80 raw_url end diff --git a/lib/color.rb b/lib/color.rb index 4eabe249..4723804e 100644 --- a/lib/color.rb +++ b/lib/color.rb @@ -1,4 +1,6 @@ module Color + extend self + def colorize(text, color_code) "\033[#{color_code}#{text}\033[0m" end diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb index aabb4334..4df771b9 100644 --- a/spec/mailers/notify_spec.rb +++ b/spec/mailers/notify_spec.rb @@ -4,10 +4,6 @@ describe Notify do include EmailSpec::Helpers include EmailSpec::Matchers - before :all do - default_url_options[:host] = Gitlab.config.web_host - end - let(:recipient) { Factory.create(:user, :email => 'recipient@example.com') } let(:project) { Factory.create(:project) } @@ -18,7 +14,7 @@ describe Notify do end describe 'for new users, the email' do - let(:example_site_url) { root_url } + let(:example_site_path) { root_path } let(:new_user) { Factory.create(:user, :email => 'newguy@example.com') } subject { Notify.new_user_email(new_user.id, new_user.password) } @@ -40,7 +36,7 @@ describe Notify do end it 'includes a link to the site' do - should have_body_text /#{example_site_url}/ + should have_body_text /#{example_site_path}/ end end @@ -68,7 +64,7 @@ describe Notify do end it 'contains a link to the new issue' do - should have_body_text /#{project_issue_url project, issue}/ + should have_body_text /#{project_issue_path project, issue}/ end end @@ -92,7 +88,7 @@ describe Notify do end it 'contains a link to the issue' do - should have_body_text /#{project_issue_url project, issue}/ + should have_body_text /#{project_issue_path project, issue}/ end end end @@ -110,7 +106,7 @@ describe Notify do end it 'contains a link to the new merge request' do - should have_body_text /#{project_merge_request_url(project, merge_request)}/ + should have_body_text /#{project_merge_request_path(project, merge_request)}/ end it 'contains the source branch for the merge request' do @@ -142,7 +138,7 @@ describe Notify do end it 'contains a link to the merge request' do - should have_body_text /#{project_merge_request_url project, merge_request}/ + should have_body_text /#{project_merge_request_path project, merge_request}/ end end @@ -172,7 +168,7 @@ describe Notify do end describe 'on a project wall' do - let(:note_on_the_wall_url) { wall_project_url(project, :anchor => "note_#{note.id}") } + let(:note_on_the_wall_path) { wall_project_path(project, :anchor => "note_#{note.id}") } subject { Notify.note_wall_email(recipient.id, note.id) } @@ -183,7 +179,7 @@ describe Notify do end it 'contains a link to the wall note' do - should have_body_text /#{note_on_the_wall_url}/ + should have_body_text /#{note_on_the_wall_path}/ end end @@ -211,7 +207,7 @@ describe Notify do describe 'on a merge request' do let(:merge_request) { Factory.create(:merge_request, :project => project) } - let(:note_on_merge_request_url) { project_merge_request_url(project, merge_request, :anchor => "note_#{note.id}") } + let(:note_on_merge_request_path) { project_merge_request_path(project, merge_request, :anchor => "note_#{note.id}") } before(:each) { note.stub(:noteable).and_return(merge_request) } subject { Notify.note_merge_request_email(recipient.id, note.id) } @@ -223,13 +219,13 @@ describe Notify do end it 'contains a link to the merge request note' do - should have_body_text /#{note_on_merge_request_url}/ + should have_body_text /#{note_on_merge_request_path}/ end end describe 'on an issue' do let(:issue) { Factory.create(:issue, :project => project) } - let(:note_on_issue_url) { project_issue_url(project, issue, :anchor => "note_#{note.id}") } + let(:note_on_issue_path) { project_issue_path(project, issue, :anchor => "note_#{note.id}") } before(:each) { note.stub(:noteable).and_return(issue) } subject { Notify.note_issue_email(recipient.id, note.id) } @@ -241,7 +237,7 @@ describe Notify do end it 'contains a link to the issue note' do - should have_body_text /#{note_on_issue_url}/ + should have_body_text /#{note_on_issue_path}/ end end end diff --git a/spec/models/project_hooks_spec.rb b/spec/models/project_hooks_spec.rb index 9e2a9df2..fcc969ce 100644 --- a/spec/models/project_hooks_spec.rb +++ b/spec/models/project_hooks_spec.rb @@ -106,7 +106,7 @@ describe Project, "Hooks" do it { should include(id: @commit.id) } it { should include(message: @commit.safe_message) } it { should include(timestamp: @commit.date.xmlschema) } - it { should include(url: "http://localhost/#{project.code}/commits/#{@commit.id}") } + it { should include(url: "#{Gitlab.config.url}/#{project.code}/commits/#{@commit.id}") } context "with a author" do subject { @data[:commits].first[:author] } diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 0c54ae01..381fe759 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -46,7 +46,7 @@ describe Project do it "should return valid url to repo" do project = Project.new(:path => "somewhere") - project.url_to_repo.should == "git@localhost:somewhere.git" + project.url_to_repo.should == Gitlab.config.ssh_path + "somewhere.git" end it "should return path to repo" do