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

Processing with note events. reformated dashboard for more events to handle

parent 678e5355
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -31,7 +31,6 @@
*
*/
.event-item {
min-height: 40px;
border-bottom: 1px solid #eee;
.event-title {
color: #333;
Loading
Loading
@@ -50,14 +49,18 @@
}
}
.avatar {
width: 32px;
position: relative;
top: -3px;
}
.event_icon {
position: relative;
float: right;
border: 1px solid #EEE;
padding: 5px;
@include border-radius(5px);
background: #F9F9F9;
margin-left: 10px;
top: -6px;
img {
width: 20px;
}
Loading
Loading
@@ -71,7 +74,7 @@
}
}
 
padding: 15px 5px;
padding: 16px 5px;
&:last-child { border:none }
.wll:hover { background:none }
 
Loading
Loading
Loading
Loading
@@ -43,7 +43,7 @@ class MilestonesController < ProjectResourceController
 
def create
@milestone = @project.milestones.new(params[:milestone])
@milestone.author_id = current_user.id
@milestone.author_id_of_changes = current_user.id
 
if @milestone.save
redirect_to project_milestone_path(@project, @milestone)
Loading
Loading
@@ -53,8 +53,7 @@ class MilestonesController < ProjectResourceController
end
 
def update
@milestone.author_id = current_user.id
@milestone.update_attributes(params[:milestone])
@milestone.update_attributes(params[:milestone].merge(author_id_of_changes: current_user.id))
 
respond_to do |format|
format.js
Loading
Loading
Loading
Loading
@@ -15,6 +15,7 @@
#
 
class Event < ActiveRecord::Base
include NoteEvent
include PushEvent
 
attr_accessible :project, :action, :data, :author_id, :project_id,
Loading
Loading
@@ -58,12 +59,14 @@ class Event < ActiveRecord::Base
end
end
 
# Next events currently enabled for system
# - push
# - new issue
# - merge request
def allowed?
push? || issue? || merge_request? || membership_changed? || note? || milestone?
def proper?
if push?
true
elsif membership_changed?
true
else
(issue? || merge_request? || note? || milestone?) && target
end
end
 
def project_name
Loading
Loading
Loading
Loading
@@ -14,7 +14,7 @@
 
class Milestone < ActiveRecord::Base
attr_accessible :title, :description, :due_date, :closed
attr_accessor :author_id
attr_accessor :author_id, :author_id_of_changes
 
belongs_to :project
has_many :issues
Loading
Loading
Loading
Loading
@@ -2,17 +2,26 @@ class ActivityObserver < ActiveRecord::Observer
observe :issue, :merge_request, :note, :milestone
 
def after_create(record)
Event.create(
project: record.project,
target_id: record.id,
target_type: record.class.name,
action: Event.determine_action(record),
author_id: record.author_id
)
event_author_id = record.author_id || record.author_id_of_changes
# Skip status notes
if record.kind_of?(Note) && record.note.include?("_Status changed to ")
return true
end
if event_author_id
Event.create(
project: record.project,
target_id: record.id,
target_type: record.class.name,
action: Event.determine_action(record),
author_id: event_author_id
)
end
end
 
def after_save(record)
if record.changed.include?("closed")
if record.changed.include?("closed") && record.author_id_of_changes
Event.create(
project: record.project,
target_id: record.id,
Loading
Loading
module NoteEvent
def note_commit_id
target.noteable_id
end
def note_short_commit_id
note_commit_id[0..8]
end
def note_commit?
target.noteable_type == "Commit"
end
def note_target
target.noteable
end
def note_target_id
target.noteable_id
end
end
- if event.allowed?
- if event.proper?
%div.event-item
= event_image(event)
%span.cgray.right
#{time_ago_in_words(event.created_at)} ago.
= image_tag gravatar_icon(event.author_email), class: "avatar s24"
 
- if event.push?
= render "events/event/push", event: event
- if event.note?
.clearfix
- elsif event.note?
= render "events/event/note", event: event
- else
= render "events/event/common", event: event
 
.clearfix
%span.cgray.right
= time_ago_in_words(event.created_at)
ago.
.clearfix
.event-title
%span.author_name= link_to_author event
%span.event_label commented on #{event.target.noteable_type_name}
- if event.target and event.target.noteable_id
= link_to [event.project, event.target.noteable] do
%strong= truncate event.target.noteable_id
- if event.target and event.note_target
- if event.note_commit?
= link_to event.note_short_commit_id, project_commit_path(event.project, event.note_commit_id), class: "commit_short_id"
- else
= link_to [event.project, event.note_target] do
%strong= truncate event.note_target_id
- else
%strong (deleted)
at
Loading
Loading
@@ -13,4 +17,7 @@
= event.project_name
 
.event-body
%p.hint= truncate event.target.note, length: 70
%span.hint
&nbsp;
%i.icon-comment
= truncate event.target.note, length: 70
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