new issue format
This commit is contained in:
parent
56d9761844
commit
a017181339
|
@ -662,6 +662,10 @@ tbody tr:nth-child(2n) td, tbody tr.even td {
|
||||||
background: #4466cc;
|
background: #4466cc;
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
|
&.normal {
|
||||||
|
background: #2c5ca6;
|
||||||
|
color:white;
|
||||||
|
}
|
||||||
&.notes {
|
&.notes {
|
||||||
background: #2c5c66;
|
background: #2c5c66;
|
||||||
color:white;
|
color:white;
|
||||||
|
|
|
@ -34,7 +34,7 @@ class IssuesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@notes = @issue.notes
|
@notes = @issue.notes.order("created_at ASC")
|
||||||
@note = @project.notes.new(:noteable => @issue)
|
@note = @project.notes.new(:noteable => @issue)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
= truncate issue.assignee.name, :lenght => 20
|
= truncate issue.assignee.name, :lenght => 20
|
||||||
%td ##{issue.id}
|
%td ##{issue.id}
|
||||||
%td
|
%td
|
||||||
= truncate(html_escape(issue.title), :length => 50)
|
= truncate(html_escape(issue.title), :length => 60)
|
||||||
%br
|
%br
|
||||||
- if issue.critical
|
- if issue.critical
|
||||||
%span.tag.high critical
|
%span.tag.high critical
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
%h2
|
%h2
|
||||||
= "Issue ##{@issue.id} - #{truncate @issue.title, :length => 50}"
|
= "Issue ##{@issue.id} - #{html_escape(@issue.title)}"
|
||||||
|
|
||||||
.span-15
|
.span-15
|
||||||
-#= simple_format html_escape(@issue.content)
|
-#= simple_format html_escape(@issue.content)
|
||||||
.issue_notes= render "notes/notes"
|
.issue_notes= render "notes/notes"
|
||||||
|
@ -29,6 +28,16 @@
|
||||||
%td
|
%td
|
||||||
= image_tag gravatar_icon(@issue.assignee.email), :class => "left", :width => 40, :style => "padding:0 5px;"
|
= image_tag gravatar_icon(@issue.assignee.email), :class => "left", :width => 40, :style => "padding:0 5px;"
|
||||||
= @issue.assignee.name
|
= @issue.assignee.name
|
||||||
|
%tr
|
||||||
|
%td Tags
|
||||||
|
%td
|
||||||
|
- if @issue.critical
|
||||||
|
%span.tag.high critical
|
||||||
|
- else
|
||||||
|
%span.tag.normal normal
|
||||||
|
|
||||||
|
- if @issue.today?
|
||||||
|
%span.tag.today today
|
||||||
%tr
|
%tr
|
||||||
%td Closed?
|
%td Closed?
|
||||||
%td
|
%td
|
||||||
|
|
|
@ -1,8 +1,31 @@
|
||||||
class IssueContenToNote < ActiveRecord::Migration
|
class IssueContenToNote < ActiveRecord::Migration
|
||||||
def up
|
def up
|
||||||
raise "Not ready"
|
puts "Issue content is deprecated -> move to notes"
|
||||||
Issue.find_each(:batch_size => 100) do |issue|
|
Issue.find_each(:batch_size => 100) do |issue|
|
||||||
|
next if issue.content.blank?
|
||||||
|
note = Note.new(
|
||||||
|
:note => issue.content,
|
||||||
|
:project_id => issue.project_id,
|
||||||
|
:noteable => issue,
|
||||||
|
:created_at => issue.created_at,
|
||||||
|
:updated_at => issue.created_at
|
||||||
|
)
|
||||||
|
note.author_id = issue.author_id
|
||||||
|
|
||||||
|
if note.save
|
||||||
|
issue.update_attributes(:content => nil)
|
||||||
|
print "."
|
||||||
|
else
|
||||||
|
print "F"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
total = Issue.where("content is not null").count
|
||||||
|
|
||||||
|
if total > 0
|
||||||
|
puts "content of #{total} issues were not migrated"
|
||||||
|
else
|
||||||
|
puts "Done"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20111027142641) do
|
ActiveRecord::Schema.define(:version => 20111027152724) do
|
||||||
|
|
||||||
create_table "issues", :force => true do |t|
|
create_table "issues", :force => true do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
|
|
|
@ -32,7 +32,6 @@ end
|
||||||
|
|
||||||
Factory.add(:issue, Issue) do |obj|
|
Factory.add(:issue, Issue) do |obj|
|
||||||
obj.title = Faker::Lorem.sentence
|
obj.title = Faker::Lorem.sentence
|
||||||
obj.content = Faker::Lorem.sentences
|
|
||||||
end
|
end
|
||||||
|
|
||||||
Factory.add(:snippet, Snippet) do |obj|
|
Factory.add(:snippet, Snippet) do |obj|
|
||||||
|
|
|
@ -80,7 +80,6 @@ describe "Issues" do
|
||||||
describe "fill in" do
|
describe "fill in" do
|
||||||
before do
|
before do
|
||||||
fill_in "issue_title", :with => "bug 345"
|
fill_in "issue_title", :with => "bug 345"
|
||||||
fill_in "issue_content", :with => "app bug 345"
|
|
||||||
click_link "Select user"
|
click_link "Select user"
|
||||||
click_link @user.name
|
click_link @user.name
|
||||||
end
|
end
|
||||||
|
@ -112,6 +111,23 @@ describe "Issues" do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "Show issue" do
|
||||||
|
before do
|
||||||
|
@issue = Factory :issue,
|
||||||
|
:author => @user,
|
||||||
|
:assignee => @user,
|
||||||
|
:project => project
|
||||||
|
|
||||||
|
visit project_issue_path(project, @issue)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should have valid show page for issue" do
|
||||||
|
page.should have_content @issue.title
|
||||||
|
page.should have_content @user.name
|
||||||
|
page.should have_content "today"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "Edit issue", :js => true do
|
describe "Edit issue", :js => true do
|
||||||
before do
|
before do
|
||||||
@issue = Factory :issue,
|
@issue = Factory :issue,
|
||||||
|
@ -129,7 +145,6 @@ describe "Issues" do
|
||||||
describe "fill in" do
|
describe "fill in" do
|
||||||
before do
|
before do
|
||||||
fill_in "issue_title", :with => "bug 345"
|
fill_in "issue_title", :with => "bug 345"
|
||||||
fill_in "issue_content", :with => "app bug 345"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it { expect { click_button "Save" }.to_not change {Issue.count} }
|
it { expect { click_button "Save" }.to_not change {Issue.count} }
|
||||||
|
|
Loading…
Reference in a new issue