Disable issues sort. Recent issues on top. Fixed tests

This commit is contained in:
Dmitriy Zaporozhets 2012-07-02 21:51:48 +03:00
parent e00390b377
commit a2eda66b30
12 changed files with 29 additions and 47 deletions

View file

@ -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();

View file

@ -201,6 +201,7 @@ a:focus {
.cred { color:#D12F19; }
.cgreen { color:#44aa22; }
.cblack { color:#111; }
.cdark { color:#444 }
.cwhite { color:#fff !important }
/** COMMON STYLES **/

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)}"})
}
});
}

View file

@ -1,3 +1,2 @@
:plain
$('#issues-table').html("#{escape_javascript(render('issues'))}");
setSortable();

View file

@ -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

View file

@ -1,4 +1,6 @@
module Color
extend self
def colorize(text, color_code)
"\033[#{color_code}#{text}\033[0m"
end

View file

@ -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

View file

@ -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] }

View file

@ -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