| 1 |
class Mailer < ActionMailer::Base |
| 2 |
def signup_notification(user) |
| 3 |
setup_email(user) |
| 4 |
@subject += 'Please activate your new account' |
| 5 |
@body[:url] = url_for( |
| 6 |
:controller => 'users', |
| 7 |
:action => 'activate', |
| 8 |
:activation_code => user.activation_code |
| 9 |
) |
| 10 |
end |
| 11 |
|
| 12 |
def activation(user) |
| 13 |
setup_email(user) |
| 14 |
@subject += 'Your account has been activated!' |
| 15 |
end |
| 16 |
|
| 17 |
def new_repository_clone(repository) |
| 18 |
setup_email(repository.project.user) |
| 19 |
@subject += %Q{#{repository.user.login} has cloned #{repository.project.slug}/#{repository.parent.name}} |
| 20 |
@body[:user] = repository.project.user |
| 21 |
@body[:cloner] = repository.user |
| 22 |
@body[:project] = repository.project |
| 23 |
@body[:repository] = repository |
| 24 |
@body[:url] = project_repository_url(repository.project, repository) |
| 25 |
end |
| 26 |
|
| 27 |
def merge_request_notification(merge_request) |
| 28 |
setup_email(merge_request.target_repository.user) |
| 29 |
@subject += %Q{#{merge_request.source_repository.user.login} has requested a merge in #{merge_request.target_repository.project.title}} |
| 30 |
@body[:merge_request] = merge_request |
| 31 |
@body[:project] = merge_request.target_repository.project |
| 32 |
@body[:url] = |
| 33 |
project_repository_merge_request_url( |
| 34 |
merge_request.target_repository.project, |
| 35 |
merge_request.target_repository, |
| 36 |
merge_request |
| 37 |
) |
| 38 |
end |
| 39 |
|
| 40 |
def forgotten_password(user, password) |
| 41 |
setup_email(user) |
| 42 |
@subject += "Your new password" |
| 43 |
@body[:password] = password |
| 44 |
end |
| 45 |
|
| 46 |
protected |
| 47 |
def setup_email(user) |
| 48 |
@recipients = "#{user.email}" |
| 49 |
@from = "Gitorious <no-reply@#{GitoriousConfig['gitorious_host']}>" |
| 50 |
@subject = "[Gitorious] " |
| 51 |
@sent_on = Time.now |
| 52 |
@body[:user] = user |
| 53 |
end |
| 54 |
end |