Organisation submitter is set to the contact if empty
This commit is contained in:
parent
cbba590d4f
commit
f6e43ce10e
@ -35,21 +35,20 @@ class Orga < ActiveRecord::Base
|
|||||||
scope :geo, -> { where 'latitude is not null and longitude is not null' }
|
scope :geo, -> { where 'latitude is not null and longitude is not null' }
|
||||||
|
|
||||||
before_validation do
|
before_validation do
|
||||||
unless submitter.blank?
|
# Populate submitter using contact info if absent
|
||||||
|
self.submitter ||= contact
|
||||||
self.secret ||= SecureRandom.urlsafe_base64(32)[0...32]
|
self.secret ||= SecureRandom.urlsafe_base64(32)[0...32]
|
||||||
end
|
|
||||||
self.submission_time ||= Time.zone.now
|
self.submission_time ||= Time.zone.now
|
||||||
end
|
end
|
||||||
|
|
||||||
after_create do
|
after_create do
|
||||||
send_secret unless submitter.blank?
|
send_secret
|
||||||
# Send email to moderators when an new orga is received
|
# Send email to moderators when an new orga is received
|
||||||
ModerationorgaMailer.create(self).deliver_now!
|
ModerationorgaMailer.create(self).deliver_now!
|
||||||
end
|
end
|
||||||
|
|
||||||
after_update do
|
after_update do
|
||||||
unless submitter.blank?
|
send_secret if secret_changed? || submitter_changed?
|
||||||
send_secret if secret_changed?
|
|
||||||
|
|
||||||
if moderated_changed?
|
if moderated_changed?
|
||||||
OrgaMailer.accept(self).deliver_now!
|
OrgaMailer.accept(self).deliver_now!
|
||||||
@ -61,7 +60,6 @@ class Orga < ActiveRecord::Base
|
|||||||
ModerationorgaMailer.update(self).deliver_now!
|
ModerationorgaMailer.update(self).deliver_now!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
before_destroy do
|
before_destroy do
|
||||||
OrgaMailer.destroy(self).deliver_now! unless submitter.blank?
|
OrgaMailer.destroy(self).deliver_now! unless submitter.blank?
|
||||||
|
@ -20,17 +20,6 @@ class OrgaTest < ActiveSupport::TestCase
|
|||||||
tags: 'hello world'
|
tags: 'hello world'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_difference 'ActionMailer::Base.deliveries.size', 1 do
|
|
||||||
Orga.create!(
|
|
||||||
kind: Kind.first,
|
|
||||||
name: 'Tested organisation',
|
|
||||||
url: 'http://example.com',
|
|
||||||
region: Region.first,
|
|
||||||
contact: 'contact@example.com',
|
|
||||||
tags: 'hello world'
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'set and send secret' do
|
test 'set and send secret' do
|
||||||
|
Loading…
Reference in New Issue
Block a user