Просмотр исходного кода

add newsletter checkbox to user register forms

Henry Oswald 8 лет назад
Родитель
Сommit
6cf1f71604

+ 3 - 2
services/web/app/coffee/Features/User/UserRegistrationHandler.coffee

@@ -1,4 +1,4 @@
-sanitize = require('sanitizer')
+resanitize = require('sanitizer')
 User = require("../../models/User").User
 UserCreator = require("./UserCreator")
 UserGetter = require("./UserGetter")
@@ -54,7 +54,8 @@ module.exports = UserRegistrationHandler =
 					(cb)-> User.update {_id: user._id}, {"$set":{holdingAccount:false}}, cb
 					(cb)-> AuthenticationManager.setUserPassword user._id, userDetails.password, cb
 					(cb)->
-						NewsLetterManager.subscribe user, ->
+						if userDetails.subscribeToNewsletter == "true"
+							NewsLetterManager.subscribe user, ->
 						cb() #this can be slow, just fire it off
 				], (err)->
 					logger.log user: user, "registered"

+ 4 - 0
services/web/public/stylesheets/app/homepage.less

@@ -47,7 +47,11 @@
 		}
 		.form-group {
 			margin-left: @line-height-computed / 2;
+			input[type="checkbox"] {
+				margin-right: 5px;
+			}
 		}
+
 	}
 	.screenshot {
 		height: 550px;

+ 7 - 1
services/web/test/unit/coffee/User/UserRegistrationHandlerTests.coffee

@@ -132,11 +132,17 @@ describe "UserRegistrationHandler", ->
 					@AuthenticationManager.setUserPassword.calledWith(@user._id, @passingRequest.password).should.equal true
 					done()			
 
-			it "should add the user to the news letter manager", (done)->
+			it "should add the user to the newsletter if accepted terms", (done)->
+				@passingRequest.subscribeToNewsletter = "true"
 				@handler.registerNewUser @passingRequest, (err)=>
 					@NewsLetterManager.subscribe.calledWith(@user).should.equal true
 					done()
 
+			it "should not add the user to the newsletter if not accepted terms", (done)->
+				@handler.registerNewUser @passingRequest, (err)=>
+					@NewsLetterManager.subscribe.calledWith(@user).should.equal false
+					done()
+
 			it "should track the registration event", (done)->
 				@handler.registerNewUser @passingRequest, (err)=>
 					@AnalyticsManager.recordEvent