Skip to content
Snippets Groups Projects
Commit 88c625e3 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Issues can be unassigned now

parent 6abc6495
No related branches found
No related tags found
No related merge requests found
app/assets/images/no_avatar.png

1.3 KiB | W: 75px | H: 75px

app/assets/images/no_avatar.png

1.31 KiB | W: 75px | H: 75px

app/assets/images/no_avatar.png
app/assets/images/no_avatar.png
app/assets/images/no_avatar.png
app/assets/images/no_avatar.png
  • 2-up
  • Swipe
  • Onion skin
Loading
Loading
@@ -11,7 +11,6 @@ class Issue < ActiveRecord::Base
attr_accessor :author_id_of_changes
 
validates_presence_of :project_id
validates_presence_of :assignee_id
validates_presence_of :author_id
 
delegate :name,
Loading
Loading
@@ -22,6 +21,7 @@ class Issue < ActiveRecord::Base
delegate :name,
:email,
:to => :assignee,
:allow_nil => true,
:prefix => true
 
validates :title,
Loading
Loading
@@ -56,6 +56,10 @@ class Issue < ActiveRecord::Base
today? && created_at == updated_at
end
 
def is_assigned?
!!assignee_id
end
def is_being_reassigned?
assignee_id_changed?
end
Loading
Loading
Loading
Loading
@@ -2,7 +2,9 @@ class IssueObserver < ActiveRecord::Observer
cattr_accessor :current_user
 
def after_create(issue)
Notify.new_issue_email(issue.id).deliver if issue.assignee != current_user
if issue.assignee && issue.assignee != current_user
Notify.new_issue_email(issue.id).deliver
end
end
 
def after_update(issue)
Loading
Loading
@@ -14,7 +16,7 @@ class IssueObserver < ActiveRecord::Observer
protected
 
def send_reassigned_email(issue)
recipient_ids = [issue.assignee_id, issue.assignee_id_was].keep_if {|id| id != current_user.id }
recipient_ids = [issue.assignee_id, issue.assignee_id_was].keep_if {|id| id && id != current_user.id }
 
recipient_ids.each do |recipient_id|
Notify.reassigned_issue_email(recipient_id, issue.id, issue.assignee_id_was).deliver
Loading
Loading
Loading
Loading
@@ -14,7 +14,7 @@
= f.text_field :title, :maxlength => 255, :class => "xxlarge"
.issue_middle_block
.issue_assignee
= f.label :assignee_id, "Assign to *"
= f.label :assignee_id, "Assign to"
.input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Assign to user" })
.issue_milestone
= f.label :milestone_id
Loading
Loading
Loading
Loading
@@ -15,12 +15,20 @@
%i.icon-edit
Edit
 
= image_tag gravatar_icon(issue.assignee_email), :class => "avatar"
%span.update-author
assigned to
%strong= issue.assignee_name
- if issue.upvotes > 0
%span.badge.badge-success= "+#{issue.upvotes}"
- if issue.assignee
= image_tag gravatar_icon(issue.assignee_email), :class => "avatar"
%span.update-author
assigned to
%strong= issue.assignee_name
- if issue.upvotes > 0
%span.badge.badge-success= "+#{issue.upvotes}"
- else
= image_tag "no_avatar.png", :class => "avatar"
%span.update-author
Unassigned
- if issue.upvotes > 0
%span.badge.badge-success= "+#{issue.upvotes}"
= link_to project_issue_path(issue.project, issue) do
%p.row_title= truncate(issue.title, :length => 100)
Loading
Loading
@@ -38,9 +38,10 @@
= image_tag gravatar_icon(@issue.author_email), :width => 16, :class => "lil_av"
%strong.author= link_to_issue_author(@issue)
 
%cite.cgray and currently assigned to
= image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
%strong.author= link_to_issue_assignee(@issue)
- if @issue.assignee
%cite.cgray and currently assigned to
= image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
%strong.author= link_to_issue_assignee(@issue)
 
- if @issue.milestone
- milestone = @issue.milestone
Loading
Loading
Loading
Loading
@@ -49,8 +49,6 @@
%tr
%td
= link_to [@project, issue] do
= image_tag gravatar_icon(issue.assignee_email, 16), :width => "16"
&nbsp;
%span.badge.badge-info ##{issue.id}
&ndash;
= truncate issue.title, :length => 60
Loading
Loading
Loading
Loading
@@ -12,7 +12,6 @@ describe Issue do
it { should validate_presence_of(:title) }
it { should validate_presence_of(:author_id) }
it { should validate_presence_of(:project_id) }
it { should validate_presence_of(:assignee_id) }
end
 
describe "Scope" do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment