Commit 39504aa19be31fa5ef8ea03e9182e6016526b365

Authored by Dmitriy Zaporozhets
2 parents 0a3874f6 25b80767

Merge branch 'resquemailer' of https://github.com/oreofish/gitlabhq into oreofish-resquemailer

Conflicts:
	Gemfile.lock
@@ -36,6 +36,7 @@ gem 'bootstrap-sass', "2.0.2" @@ -36,6 +36,7 @@ gem 'bootstrap-sass', "2.0.2"
36 gem "colored" 36 gem "colored"
37 gem 'yaml_db', :git => "https://github.com/gitlabhq/yaml_db.git" 37 gem 'yaml_db', :git => "https://github.com/gitlabhq/yaml_db.git"
38 gem 'modularity' 38 gem 'modularity'
  39 +gem 'resque_mailer'
39 40
40 group :assets do 41 group :assets do
41 gem "sass-rails", "3.2.3" 42 gem "sass-rails", "3.2.3"
@@ -224,19 +224,10 @@ GEM @@ -224,19 +224,10 @@ GEM
224 redis-namespace (~> 1.0.2) 224 redis-namespace (~> 1.0.2)
225 sinatra (>= 0.9.2) 225 sinatra (>= 0.9.2)
226 vegas (~> 0.1.2) 226 vegas (~> 0.1.2)
227 - rspec (2.10.0)  
228 - rspec-core (~> 2.10.0)  
229 - rspec-expectations (~> 2.10.0)  
230 - rspec-mocks (~> 2.10.0)  
231 - rspec-core (2.10.0)  
232 - rspec-expectations (2.10.0)  
233 - diff-lcs (~> 1.1.3)  
234 - rspec-mocks (2.10.1) 227 + resque_mailer (2.0.3)
  228 + actionmailer (>= 3.0.0)
  229 + resque (>= 1.2.3)
235 rspec-rails (2.10.1) 230 rspec-rails (2.10.1)
236 - actionpack (>= 3.0)  
237 - activesupport (>= 3.0)  
238 - railties (>= 3.0)  
239 - rspec (~> 2.10.0)  
240 rubyntlm (0.1.1) 231 rubyntlm (0.1.1)
241 rubypython (0.5.3) 232 rubypython (0.5.3)
242 blankslate (>= 2.1.2.3) 233 blankslate (>= 2.1.2.3)
@@ -350,6 +341,7 @@ DEPENDENCIES @@ -350,6 +341,7 @@ DEPENDENCIES
350 rake 341 rake
351 redcarpet (~> 2.1.1) 342 redcarpet (~> 2.1.1)
352 resque (~> 1.20.0) 343 resque (~> 1.20.0)
  344 + resque_mailer
353 rspec-rails 345 rspec-rails
354 sass-rails (= 3.2.3) 346 sass-rails (= 3.2.3)
355 seed-fu 347 seed-fu
app/mailers/notify.rb
1 class Notify < ActionMailer::Base 1 class Notify < ActionMailer::Base
  2 + include Resque::Mailer
2 add_template_helper ApplicationHelper 3 add_template_helper ApplicationHelper
3 4
4 default_url_options[:host] = EMAIL_OPTS["host"] 5 default_url_options[:host] = EMAIL_OPTS["host"]
@@ -9,68 +10,68 @@ class Notify &lt; ActionMailer::Base @@ -9,68 +10,68 @@ class Notify &lt; ActionMailer::Base
9 def new_user_email(user, password) 10 def new_user_email(user, password)
10 @user = user 11 @user = user
11 @password = password 12 @password = password
12 - mail(:to => @user.email, :subject => "gitlab | Account was created for you") 13 + mail(:to => @user['email'], :subject => "gitlab | Account was created for you")
13 end 14 end
14 15
15 def new_issue_email(issue) 16 def new_issue_email(issue)
16 - @user = issue.assignee  
17 - @project = issue.project  
18 - @issue = issue 17 + @issue = Issue.find(issue['id'])
  18 + @user = @issue.assignee
  19 + @project = @issue.project
19 20
20 mail(:to => @user.email, :subject => "gitlab | New Issue was created") 21 mail(:to => @user.email, :subject => "gitlab | New Issue was created")
21 end 22 end
22 23
23 def note_wall_email(user, note) 24 def note_wall_email(user, note)
24 @user = user 25 @user = user
25 - @note = note  
26 - @project = note.project  
27 - mail(:to => @user.email, :subject => "gitlab | #{@note.project.name} ") 26 + @note = Note.find(note['id'])
  27 + @project = @note.project
  28 + mail(:to => @user['email'], :subject => "gitlab | #{@note.project.name} ")
28 end 29 end
29 30
30 def note_commit_email(user, note) 31 def note_commit_email(user, note)
31 @user = user 32 @user = user
32 - @note = note  
33 - @project = note.project 33 + @note = Note.find(note['id'])
  34 + @project = @note.project
34 @commit = @note.target 35 @commit = @note.target
35 - mail(:to => @user.email, :subject => "gitlab | note for commit | #{@note.project.name} ") 36 + mail(:to => @user['email'], :subject => "gitlab | note for commit | #{@note.project.name} ")
36 end 37 end
37 38
38 def note_merge_request_email(user, note) 39 def note_merge_request_email(user, note)
39 @user = user 40 @user = user
40 - @note = note  
41 - @project = note.project  
42 - @merge_request = note.noteable  
43 - mail(:to => @user.email, :subject => "gitlab | note for merge request | #{@note.project.name} ") 41 + @note = Note.find(note['id'])
  42 + @project = @note.project
  43 + @merge_request = @note.noteable
  44 + mail(:to => @user['email'], :subject => "gitlab | note for merge request | #{@note.project.name} ")
44 end 45 end
45 46
46 def note_issue_email(user, note) 47 def note_issue_email(user, note)
47 @user = user 48 @user = user
48 - @note = note  
49 - @project = note.project  
50 - @issue = note.noteable  
51 - mail(:to => @user.email, :subject => "gitlab | note for issue #{@issue.id} | #{@note.project.name} ") 49 + @note = Note.find(note['id'])
  50 + @project = @note.project
  51 + @issue = @note.noteable
  52 + mail(:to => @user['email'], :subject => "gitlab | note for issue #{@issue.id} | #{@note.project.name} ")
52 end 53 end
53 54
54 def new_merge_request_email(merge_request) 55 def new_merge_request_email(merge_request)
55 - @user = merge_request.assignee  
56 - @merge_request = merge_request  
57 - @project = merge_request.project 56 + @merge_request = MergeRequest.find(merge_request['id'])
  57 + @user = @merge_request.assignee
  58 + @project = @merge_request.project
58 mail(:to => @user.email, :subject => "gitlab | new merge request | #{@merge_request.title} ") 59 mail(:to => @user.email, :subject => "gitlab | new merge request | #{@merge_request.title} ")
59 end 60 end
60 61
61 def changed_merge_request_email(user, merge_request) 62 def changed_merge_request_email(user, merge_request)
62 @user = user 63 @user = user
63 - @assignee_was ||= User.find(merge_request.assignee_id_was)  
64 - @merge_request = merge_request  
65 - @project = merge_request.project  
66 - mail(:to => @user.email, :subject => "gitlab | merge request changed | #{@merge_request.title} ") 64 + @merge_request = MergeRequest(merge_request.id)
  65 + @assignee_was ||= User.find(@merge_request.assignee_id_was)
  66 + @project = @merge_request.project
  67 + mail(:to => @user['email'], :subject => "gitlab | merge request changed | #{@merge_request.title} ")
67 end 68 end
68 69
69 def changed_issue_email(user, issue) 70 def changed_issue_email(user, issue)
  71 + @issue = Issue.find(issue['id'])
70 @user = user 72 @user = user
71 - @assignee_was ||= User.find(issue.assignee_id_was)  
72 - @issue = issue  
73 - @project = issue.project  
74 - mail(:to => @user.email, :subject => "gitlab | changed issue | #{@issue.title} ") 73 + @assignee_was ||= User.find(@issue.assignee_id_was)
  74 + @project = @issue.project
  75 + mail(:to => @user['email'], :subject => "gitlab | changed issue | #{@issue.title} ")
75 end 76 end
76 end 77 end
app/views/notify/new_user_email.html.haml
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} 4 %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
5 %td{:align => "left", :style => "padding: 20px 0 0;"} 5 %td{:align => "left", :style => "padding: 20px 0 0;"}
6 %h2{:style => "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "} 6 %h2{:style => "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "}
7 - Hi #{@user.name}! 7 + Hi #{@user['name']}!
8 %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "} 8 %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "}
9 Administrator created account for you. Now you are a member of company gitlab application. 9 Administrator created account for you. Now you are a member of company gitlab application.
10 %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} 10 %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 %td{:style => "padding: 15px 0 15px;", :valign => "top"} 13 %td{:style => "padding: 15px 0 15px;", :valign => "top"}
14 %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 28px; font-size: 16px;font-family: Helvetica, Arial, sans-serif; "} 14 %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 28px; font-size: 16px;font-family: Helvetica, Arial, sans-serif; "}
15 login.......................................... 15 login..........................................
16 - %code= @user.email 16 + %code= @user['email']
17 %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 28px; font-size: 16px;font-family: Helvetica, Arial, sans-serif; "} 17 %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 28px; font-size: 16px;font-family: Helvetica, Arial, sans-serif; "}
18 password.................................. 18 password..................................
19 %code= @password 19 %code= @password
1 mkdir -p tmp/pids 1 mkdir -p tmp/pids
2 -bundle exec rake environment resque:work QUEUE=post_receive RAILS_ENV=production PIDFILE=tmp/pids/resque_worker.pid BACKGROUND=yes 2 +bundle exec rake environment resque:work QUEUE=* RAILS_ENV=production PIDFILE=tmp/pids/resque_worker.pid BACKGROUND=yes