diff --git a/ruby/lib/jam_ruby/app/mailers/user_mailer.rb b/ruby/lib/jam_ruby/app/mailers/user_mailer.rb
index 3969ccdb4..ee7229a6a 100644
--- a/ruby/lib/jam_ruby/app/mailers/user_mailer.rb
+++ b/ruby/lib/jam_ruby/app/mailers/user_mailer.rb
@@ -120,7 +120,7 @@ module JamRuby
def retailer_owner_welcome_message(user)
@user = user
- @subject= "Welcome to JamKazam and JamClass online lessons!"
+ @subject= "Welcome to JamKazam!"
sendgrid_category "Welcome"
sendgrid_unique_args :type => "welcome_message"
diff --git a/ruby/lib/jam_ruby/models/retailer.rb b/ruby/lib/jam_ruby/models/retailer.rb
index f6cf94d03..50185e5eb 100644
--- a/ruby/lib/jam_ruby/models/retailer.rb
+++ b/ruby/lib/jam_ruby/models/retailer.rb
@@ -27,7 +27,11 @@ module JamRuby
# before_save :stringify_avatar_info, :if => :updating_avatar
def create_slug
- self.slug
+ if self.slug.blank?
+ puts "SELF ID #{self.id}"
+ self.slug = self.id.to_s
+ end
+
self.save!
end
@@ -40,6 +44,19 @@ module JamRuby
end
def matches_password(password)
+
+ if password.blank?
+ return false
+ end
+
+ puts "self.encrypted_password #{self.encrypted_password}"
+ begin
+ # we init passwordfield as a UUID, which is a bogus hash; so if we see UUId, we know retailer has no password yet
+ UUIDTools::UUID.parse(self.encrypted_password)
+ return false
+ rescue ArgumentError
+ end
+
BCrypt::Password.new(self.encrypted_password) == password
end
diff --git a/ruby/lib/jam_ruby/models/user.rb b/ruby/lib/jam_ruby/models/user.rb
index 10b9407ca..894275058 100644
--- a/ruby/lib/jam_ruby/models/user.rb
+++ b/ruby/lib/jam_ruby/models/user.rb
@@ -280,7 +280,7 @@ module JamRuby
end
if retailer_interest && !retailer_interest_was
- AdminMailer.partner({body: "#{email} signed up via the https://www.jamkazam.com/landing/jamclass/retailer page.\n\nFull list is here: https://www.jamkazam.com/admin/admin/retailer_interests", subject: "#{email} is interested in retailer program"}).deliver_now
+ AdminMailer.partner({body: "#{email} signed up via the https://www.jamkazam.com/landing/jamclass/retailers page.\n\nFull list is here: https://www.jamkazam.com/admin/admin/retailer_interests", subject: "#{email} is interested in retailer program"}).deliver_now
if owned_retailer.nil?
retailer = Retailer.new
retailer.user = self
diff --git a/ruby/spec/jam_ruby/models/retailer_spec.rb b/ruby/spec/jam_ruby/models/retailer_spec.rb
index e82c741ec..b0ca83c27 100644
--- a/ruby/spec/jam_ruby/models/retailer_spec.rb
+++ b/ruby/spec/jam_ruby/models/retailer_spec.rb
@@ -6,6 +6,18 @@ describe Retailer do
FactoryGirl.create(:retailer)
end
+ it "doesn't match uuid password" do
+ retailer= FactoryGirl.create(:retailer)
+ retailer.reload
+ retailer.matches_password('hha').should be false
+ end
+
+ it "automatic slug creation" do
+ retailer= FactoryGirl.create(:retailer, slug: nil)
+ retailer.id.should_not be_blank
+ retailer.slug.should eql retailer.id.to_s
+
+ end
it "has correct associations" do
retailer = FactoryGirl.create(:retailer)
retailer.slug.should eql retailer.id
diff --git a/web/app/assets/javascripts/react-components/AccountRetailerScreen.js.jsx.coffee b/web/app/assets/javascripts/react-components/AccountRetailerScreen.js.jsx.coffee
index 3ef23fd21..e4d31e1be 100644
--- a/web/app/assets/javascripts/react-components/AccountRetailerScreen.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/AccountRetailerScreen.js.jsx.coffee
@@ -287,14 +287,24 @@ profileUtils = context.JK.ProfileUtils