summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorMarius Mathiesen <marius.mathiesen@gmail.com>2009-03-09 13:20:46 +0100
committerJohan Sørensen <johan@johansorensen.com>2009-04-22 15:16:02 +0200
commit1ba3e02fe467b43e33cfbae54f2b1a8b8b30eda1 (patch)
treebda8cf62ee5962e5b5edacc1c4876e6aa04a2cbc /app/models
parente2a894c4d9fa02990c353fb901c9b5849fc3d24f (diff)
downloadgitorious-mainline-outdated-1ba3e02fe467b43e33cfbae54f2b1a8b8b30eda1.zip
gitorious-mainline-outdated-1ba3e02fe467b43e33cfbae54f2b1a8b8b30eda1.tar.gz
gitorious-mainline-outdated-1ba3e02fe467b43e33cfbae54f2b1a8b8b30eda1.tar.bz2
Adding notifiable support to messages:
- Link a merge request with a message - Display link in message (web)
Diffstat (limited to 'app/models')
-rw-r--r--app/models/mailer.rb7
-rw-r--r--app/models/merge_request.rb2
-rw-r--r--app/models/message.rb4
3 files changed, 10 insertions, 3 deletions
diff --git a/app/models/mailer.rb b/app/models/mailer.rb
index 59ae675..5ea4ebf 100644
--- a/app/models/mailer.rb
+++ b/app/models/mailer.rb
@@ -44,14 +44,17 @@ class Mailer < ActionMailer::Base
@body[:url] = project_repository_url(repository.project, repository)
end
- def notification_copy(recipient, sender, subject, body)
+ def notification_copy(recipient, sender, subject, body, notifiable)
@recipients = recipient.email
@from = "Gitorious <no-reply@#{GitoriousConfig['gitorious_host']}>"
@subject = subject
@body[:recipient] = recipient.fullname
@body[:url] = "http://#{GitoriousConfig['gitorious_host']}/messages"
- @body[:body] = body
+ @body[:body] = body
@body[:sender] = sender.fullname
+ if notifiable
+ @body[:notifiable_url] = project_repository_merge_request_url(notifiable.target_repository.project, notifiable.target_repository, notifiable)
+ end
end
def forgotten_password(user, password)
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 635a3d5..6c6d304 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -21,7 +21,7 @@ class MergeRequest < ActiveRecord::Base
belongs_to :source_repository, :class_name => 'Repository'
belongs_to :target_repository, :class_name => 'Repository'
has_many :events, :as => :target, :dependent => :destroy
- has_many :messages, :as => :notifiable
+ has_many :messages, :as => :notifiable, :dependent => :destroy
is_indexed :fields => ["proposal"], :include => [{
:association_name => "user",
diff --git a/app/models/message.rb b/app/models/message.rb
index e75d751..e9dac3b 100644
--- a/app/models/message.rb
+++ b/app/models/message.rb
@@ -61,6 +61,10 @@ class Message < ActiveRecord::Base
def description
(notifiable || self).class.name.titleize.downcase
end
+
+ def css_class
+ (notifiable || self).class.name.underscore
+ end
# Used in breadcrumbs
def title