diff --git a/lib/browserid/views.js b/lib/browserid/views.js index de23cb846c48ce64ea3eb2bfe02fd8e57939e8d9..43b25bcb28302417cc124a05209d67b1be533c94 100644 --- a/lib/browserid/views.js +++ b/lib/browserid/views.js @@ -87,11 +87,11 @@ exports.setup = function(app) { }); app.get("/verify_email_address", function(req, res) { - res.render('verifyuser.ejs', {title: 'Complete Registration', fullpage: true, token: req.query.token}); + res.render('verify_email_address.ejs', {title: 'Complete Registration', fullpage: true, token: req.query.token}); }); app.get("/add_email_address", function(req,res) { - res.render('verifyemail.ejs', {title: 'Verify Email Address', fullpage: false}); + res.render('add_email_address.ejs', {title: 'Verify Email Address', fullpage: false}); }); // REDIRECTS diff --git a/resources/static/css/style.css b/resources/static/css/style.css index 8b23ff1b3a6ffce815152264157a5276596c481c..817012bcab516e04c2772cf28210079b5225cb45 100644 --- a/resources/static/css/style.css +++ b/resources/static/css/style.css @@ -649,6 +649,9 @@ h1 { border-radius: 3px; } +#signUpForm > .password_entry { + display: none; +} .siteinfo, #congrats { display: none; diff --git a/resources/static/dialog/controllers/primary_user_provisioned.js b/resources/static/dialog/controllers/primary_user_provisioned.js index 01c80c06fa623c9163926e9d998da5a8bde13338..7efff8dc9e6bc68a4ee5646d17b7403b223080bb 100644 --- a/resources/static/dialog/controllers/primary_user_provisioned.js +++ b/resources/static/dialog/controllers/primary_user_provisioned.js @@ -68,7 +68,7 @@ BrowserID.Modules.PrimaryUserProvisioned = (function() { if(addEmailToCurrentUser) { network.addEmailWithAssertion(assertion, function(status) { if(status) { - self.publish("email_chosen", options); + self.publish("primary_user_ready", options); } else { self.getErrorDialog(errors.addEmailWithAssertion, complete)(); @@ -78,7 +78,7 @@ BrowserID.Modules.PrimaryUserProvisioned = (function() { else { network.authenticateWithAssertion(email, assertion, function(status) { if(status) { - self.publish("email_chosen", options); + self.publish("primary_user_ready", options); } else { self.getErrorDialog(errors.authenticateWithAssertion, complete)(); diff --git a/resources/static/dialog/resources/state_machine.js b/resources/static/dialog/resources/state_machine.js index efc1434a52565056a4957795025a97558e16a913..509f0fe50f132bdc671e6f312a4270228b86c193 100644 --- a/resources/static/dialog/resources/state_machine.js +++ b/resources/static/dialog/resources/state_machine.js @@ -173,6 +173,10 @@ self.success = true; }); + subscribe("primary_user_ready", function(msg, info) { + gotoState("doEmailChosen", info); + }); + subscribe("authenticate_with_required_email", function(msg, info) { gotoState("doAuthenticateWithRequiredEmail", info); }); diff --git a/resources/static/dialog/views/site b/resources/static/dialog/views/site new file mode 120000 index 0000000000000000000000000000000000000000..f5a3723db214a8e9676c1dbf727502ecb94bce16 --- /dev/null +++ b/resources/static/dialog/views/site @@ -0,0 +1 @@ +../../../views/ \ No newline at end of file diff --git a/resources/static/pages/page_helpers.js b/resources/static/pages/page_helpers.js index 7f016b399388b66397eac9acb4f908c993403fcb..ccba155fd6005a4a7174b53a4d215965f8fa64b0 100644 --- a/resources/static/pages/page_helpers.js +++ b/resources/static/pages/page_helpers.js @@ -114,7 +114,10 @@ BrowserID.PageHelpers = (function() { function showInputs(onComplete) { $('.notification').hide(); - $('.forminputs').stop().hide().css({opacity:1}).fadeIn(ANIMATION_SPEED, onComplete); + $('.forminputs').stop().hide().css({opacity:1}).fadeIn(ANIMATION_SPEED); + // If there is more than one .forminputs, the onComplete callback is called + // multiple times, we only want once. + setTimeout(onComplete, ANIMATION_SPEED); } function showEmailSent(onComplete) { diff --git a/resources/static/shared/user.js b/resources/static/shared/user.js index ff8a32ee897f7c103658a194bf659ee2d2c5a83e..56fadfd9980b0c749bd9a7ecf08e7c41507a8796 100644 --- a/resources/static/shared/user.js +++ b/resources/static/shared/user.js @@ -316,6 +316,16 @@ BrowserID.User = (function() { }, onFailure); }, + /** + * Attempt to create a user with the info returned from + * network.addressInfo. Attempts to create both primary and secondary + * based users depending on info.type. + * @method createUserWithInfo + * @param {string} email + * @param {object} info - contains fields returned from network.addressInfo + * @param {function} [onComplete] + * @param {function} [onFailure] + */ createUserWithInfo: function(email, info, onComplete, onFailure) { var self=this; function attemptAddSecondary(email, info) { diff --git a/resources/static/test/index.html b/resources/static/test/index.html index bc796b39b27c913d26704272c7fc05124e099fda..8bab1c203abb5b50a15c28f3a86c1f2c8a978159 100644 --- a/resources/static/test/index.html +++ b/resources/static/test/index.html @@ -14,69 +14,42 @@ <h2 id="qunit-banner"></h2> <div id="qunit-testrunner-toolbar"></div> <h2 id="qunit-userAgent"></h2> - <div id="test-content"> - </div> <ol id="qunit-tests"></ol> <div id="qunit-test-area"></div> - <h3>Content below here is test content that can be ignored</h3> - - <div id="controller_head"> + <div style="position: absolute; top: -1000px; left: 100px; right: 100px; height: 300px;"> + <a href="#" onclick="$('#contents').hide(); return false;">Close</a> + <h3>Test Contents, this will be updated and can be safely ignored</h3> - <div id="formWrap"> - <div class="contents"></div> - </div> + <div id="page_head"> + </div> - <div id="wait"> - <div class="contents"></div> - </div> + <div id="controller_head"> + <div id="formWrap"> + <div class="contents"></div> + </div> - <div id="error"> - <div class="contents"></div> - </div> + <div id="wait"> + <div class="contents"></div> + </div> - <div class="forminputs"> - <input id="email" /> - <input id="newEmail" /> - <input id="password" /> - <input id="vpassword" /> - <input id="old_password" /> - <input id="new_password" /> - <input type="checkbox" id="remember" /> - </div> - <span class="hint">Hint</span> - </div> + <div id="error"> + <div class="contents"></div> + </div> + </div> - <div id="needsTooltip">Tooltip Anchor</div> + <div id="needsTooltip">Tooltip Anchor</div> - <div id="shortTooltip" class="tooltip" for="needsTooltip"> - short tooltip - </div> + <div id="shortTooltip" class="tooltip" for="needsTooltip"> + short tooltip + </div> - <div id="longTooltip" class="tooltip" for="needsTooltip"> - This is a long tooltip. This should remain on the screen for about 5 seconds. + <div id="longTooltip" class="tooltip" for="needsTooltip"> + This is a long tooltip. This should remain on the screen for about 5 seconds. + </div> </div> - <form> - form contents - </form> - - <ul class="notifications"> - <li id="cannotconfirm" class="error notification">Cannot confirm</li> - <li id="cannotcommunicate" class="error notification">Cannot communicate</li> - <li class="siteinfo" class="error notification"><span class="website"></span></li> - <li class="notification emailsent">Email Sent</li> - <li class="notification doh">doh</li> - <li class="notification" id="congrats">Congratulations!</li> - <li class="notification" id="primary_verify"><span id="primary_email"></span></li> - </ul> - - <ul id="emailList"> - </ul> - - <div id="sentToEmail"></div> - <script type="text/html" id="templateUser"> <li>{{email}}</li> </script> diff --git a/resources/static/test/qunit/controllers/primary_user_provisioned_unit_test.js b/resources/static/test/qunit/controllers/primary_user_provisioned_unit_test.js index 3be206c31dca7046ddd3d7440111c6e5f5411516..e78de4af4ad61a9356f44569c91db931c0f0c442 100644 --- a/resources/static/test/qunit/controllers/primary_user_provisioned_unit_test.js +++ b/resources/static/test/qunit/controllers/primary_user_provisioned_unit_test.js @@ -113,7 +113,7 @@ }); asyncTest("start controller with `add: false` authenticates user", function() { - register("email_chosen", function(msg, info) { + register("primary_user_ready", function(msg, info) { network.checkAuth(function(status) { equal(status, true, "status is correct"); start(); @@ -147,7 +147,7 @@ }); asyncTest("start controller with `add: true` adds email to user's list", function() { - register("email_chosen", function(msg, info) { + register("primary_user_ready", function(msg, info) { start(); }); diff --git a/resources/static/test/qunit/mocks/xhr.js b/resources/static/test/qunit/mocks/xhr.js index b6c2cbde8c5910c1697d0ce76fa339f204e35a1b..715044aa93a6eb76d67905470d44b9c99328bec4 100644 --- a/resources/static/test/qunit/mocks/xhr.js +++ b/resources/static/test/qunit/mocks/xhr.js @@ -41,7 +41,8 @@ BrowserID.Mocks.xhr = (function() { domain_key_creation_time: (new Date().getTime() - (30 * 24 * 60 * 60 * 1000)), csrf_token: "csrf", authenticated: false, - code_version: "ABC123" + code_version: "ABC123", + random_seed: "H+ZgKuhjVckv/H4i0Qvj/JGJEGDVOXSIS5RCOjY9/Bo=" }; // this cert is meaningless, but it has the right format diff --git a/resources/static/test/qunit/pages/add_email_address_test.js b/resources/static/test/qunit/pages/add_email_address_test.js index 60028f345f6bccbecf35d462eefd17b660535044..7f6916c101f223b145b714de4432caf87a41fa8c 100644 --- a/resources/static/test/qunit/pages/add_email_address_test.js +++ b/resources/static/test/qunit/pages/add_email_address_test.js @@ -41,22 +41,18 @@ network = bid.Network, storage = bid.Storage, xhr = bid.Mocks.xhr, + testHelpers = bid.TestHelpers, validToken = true; module("pages/add_email_address", { setup: function() { - network.setXHR(xhr); - xhr.useResult("valid"); - $(".error").removeClass("error"); - $("#error").stop().hide(); - $(".website").text(""); + testHelpers.setup(); + bid.Renderer.render("#page_head", "site/add_email_address", {}); $(".siteinfo").hide(); }, teardown: function() { - network.setXHR($); - $(".error").removeClass("error"); - $("#error").stop().hide(); - $(".website").text(""); + testHelpers.teardown(); + $("#page_head").empty(); } }); @@ -66,7 +62,7 @@ bid.addEmailAddress("token", function() { equal($("#email").val(), "testuser@testuser.com", "email set"); ok($(".siteinfo").is(":visible"), "siteinfo is visible when we say what it is"); - equal($(".website").text(), "browserid.org", "origin is updated"); + equal($(".website:nth(0)").text(), "browserid.org", "origin is updated"); start(); }); }); @@ -97,4 +93,8 @@ }); }); + asyncTest("addEmailAddress - first secondary address added to account with only primaries - must enter password", function() { + start(); + }); + }()); diff --git a/resources/static/test/qunit/pages/forgot_unit_test.js b/resources/static/test/qunit/pages/forgot_unit_test.js index 47b5bb579f7dbd00a17913fdc5cffe18b41290b6..2e4abe714d6493c1b77116536ef9e7fb48d3c679 100644 --- a/resources/static/test/qunit/pages/forgot_unit_test.js +++ b/resources/static/test/qunit/pages/forgot_unit_test.js @@ -40,21 +40,17 @@ var bid = BrowserID, network = bid.Network, user = bid.User, + testHelpers = bid.TestHelpers, xhr = bid.Mocks.xhr; module("pages/forgot", { setup: function() { - network.setXHR(xhr); - $(".error").removeClass("error"); - $("#error").stop().hide(); - xhr.useResult("valid"); + testHelpers.setup(); + bid.Renderer.render("#page_head", "site/forgot", {}); bid.forgot(); }, teardown: function() { - network.setXHR($); - $(".error").removeClass("error"); - $("#error").stop().hide(); - $(".website").text(""); + testHelpers.teardown(); bid.forgot.reset(); } }); diff --git a/resources/static/test/qunit/pages/manage_account_unit_test.js b/resources/static/test/qunit/pages/manage_account_unit_test.js index 0c18b7e66161c0e440133638c21566a354908d13..b28d68a765841751dfd53b9b540b850ea54d7c00 100644 --- a/resources/static/test/qunit/pages/manage_account_unit_test.js +++ b/resources/static/test/qunit/pages/manage_account_unit_test.js @@ -54,11 +54,10 @@ setup: function() { testHelpers.setup(); user.setOrigin(TEST_ORIGIN); - $("#emailList").empty(); + bid.Renderer.render("#page_head", "site/index", {}); mocks.document.location = ""; }, teardown: function() { - $("#emailList").empty(); testHelpers.teardown(); } }); diff --git a/resources/static/test/qunit/pages/page_helpers_unit_test.js b/resources/static/test/qunit/pages/page_helpers_unit_test.js index 67e8ffaa7bbb800ba8443bcbffb5c5e6b67dd717..cfbfae5ecd14b2831ed169cb82206347c5a45169 100644 --- a/resources/static/test/qunit/pages/page_helpers_unit_test.js +++ b/resources/static/test/qunit/pages/page_helpers_unit_test.js @@ -45,6 +45,8 @@ module("pages/page_helpers", { setup: function() { testHelpers.setup(); + bid.Renderer.render("#page_head", "site/signup", {}); + $(".siteinfo,.emailsent").hide(); }, teardown: function() { @@ -88,9 +90,9 @@ }); asyncTest("replaceFormWithNotice replaces contents", function() { - pageHelpers.replaceFormWithNotice(".emailsent", function() { + pageHelpers.replaceFormWithNotice("#congrats", function() { equal($("form").is(":visible"), false, "form has been hidden"); - equal($(".emailsent").is(":visible"), true, "emailsent is now visible"); + equal($("#congrats").is(":visible"), true, "congrats is now visible"); start(); }); }); diff --git a/resources/static/test/qunit/pages/signin_unit_test.js b/resources/static/test/qunit/pages/signin_unit_test.js index 50a785b9f1aae86bb53994364d144891e36822fb..1fe192812b4f3b3075352eb7fe609a76e4f8f3a4 100644 --- a/resources/static/test/qunit/pages/signin_unit_test.js +++ b/resources/static/test/qunit/pages/signin_unit_test.js @@ -41,24 +41,20 @@ network = bid.Network, user = bid.User, xhr = bid.Mocks.xhr, + testHelpers = bid.TestHelpers, docMock = { location: "signin" } module("pages/signin", { setup: function() { - network.setXHR(xhr); - $(".error").removeClass("error"); - $("#error").stop().hide(); - xhr.useResult("valid"); + testHelpers.setup(); docMock.location = "signin"; + bid.Renderer.render("#page_head", "site/signin", {}); bid.signIn({document: docMock}); }, teardown: function() { - network.setXHR($); - $(".error").removeClass("error"); - $("#error").stop().hide(); - $("#error .message").remove(); + testHelpers.teardown(); bid.signIn.reset(); } }); diff --git a/resources/static/test/qunit/pages/signup_unit_test.js b/resources/static/test/qunit/pages/signup_unit_test.js index b6fec1620cbad237623f1da7f81f4c9d95e1b8e4..332229b7a67733415dfe7a8aa970304add9d30c8 100644 --- a/resources/static/test/qunit/pages/signup_unit_test.js +++ b/resources/static/test/qunit/pages/signup_unit_test.js @@ -49,6 +49,8 @@ setup: function() { testHelpers.setup(); + bid.Renderer.render("#page_head", "site/signup", {}); + $(".emailsent").hide(); winchan = new WinChanMock(); bid.signUp({ winchan: winchan @@ -129,7 +131,7 @@ bid.signUp.submit(function() { bid.signUp.back(function() { equal($(".notification:visible").length, 0, "no notifications are visible"); - equal($(".forminputs:visible").length, 1, "form inputs are again visible"); + ok($(".forminputs:visible").length, "form inputs are again visible"); equal($("#email").val(), "unregistered@testuser.com", "email address restored"); start(); }); diff --git a/resources/static/test/qunit/pages/verify_email_address_test.js b/resources/static/test/qunit/pages/verify_email_address_test.js index ac306d1eaa9f9a39408ea6452142c0e466f09d4a..59130ae4c26dd39b430ab7f1d1a627b1fa67eff2 100644 --- a/resources/static/test/qunit/pages/verify_email_address_test.js +++ b/resources/static/test/qunit/pages/verify_email_address_test.js @@ -41,23 +41,16 @@ network = bid.Network, storage = bid.Storage, xhr = bid.Mocks.xhr, + testHelpers = bid.TestHelpers, validToken = true; module("pages/verify_email_address", { setup: function() { - network.setXHR(xhr); - xhr.useResult("valid"); - $("body").removeClass("error"); - $(".error").removeClass("error"); - $("#error").stop().hide(); - $(".website").text(""); + testHelpers.setup(); + bid.Renderer.render("#page_head", "site/verify_email_address", {}); }, teardown: function() { - network.setXHR($); - $("body").removeClass("error"); - $(".error").removeClass("error"); - $("#error").stop().hide(); - $(".website").text(""); + testHelpers.teardown(); } }); @@ -67,7 +60,7 @@ bid.verifyEmailAddress("token", function() { equal($("#email").val(), "testuser@testuser.com", "email set"); ok($(".siteinfo").is(":visible"), "siteinfo is visible when we say what it is"); - equal($(".website").text(), "browserid.org", "origin is updated"); + equal($(".website:nth(0)").text(), "browserid.org", "origin is updated"); start(); }); }); diff --git a/resources/static/test/qunit/resources/state_machine_unit_test.js b/resources/static/test/qunit/resources/state_machine_unit_test.js index a77056198f0cebf7fa83b64f4b0e8a75b921f9aa..b4f136cb200da93518ea13b3dc898ccfc925383f 100644 --- a/resources/static/test/qunit/resources/state_machine_unit_test.js +++ b/resources/static/test/qunit/resources/state_machine_unit_test.js @@ -107,8 +107,9 @@ ok(actions.called.doEmailConfirmed, "user was confirmed"); }); - test("primary_user does something", function() { - ok(false, "write some tests"); + test("primary_user calls doProvisionPrimaryUser", function() { + mediator.publish("primary_user", { email: "testuser@testuser.com" }); + ok(actions.called.doProvisionPrimaryUser, "doPrimaryUserProvisioned called"); }); test("primary_user_provisioned calls doEmailChosen", function() { @@ -137,6 +138,12 @@ ok(actions.called.doProvisionPrimaryUser, "doProvisionPrimaryUser called"); }); + test("primary_user_ready calls doEmailChosen", function() { + mediator.publish("primary_user_ready", { email: "testuser@testuser.com", assertion: "assertion" }); + + ok(actions.called.doEmailChosen, "doEmailChosen called"); + }); + test("authenticated", function() { mediator.publish("authenticated"); diff --git a/resources/static/test/qunit/shared/helpers_unit_test.js b/resources/static/test/qunit/shared/helpers_unit_test.js index 8d00c4683cc83cc54ee95fdc190a83c553e1a454..c4b2ce7a23d851f19c14d8876798def668cecfbe 100644 --- a/resources/static/test/qunit/shared/helpers_unit_test.js +++ b/resources/static/test/qunit/shared/helpers_unit_test.js @@ -42,10 +42,11 @@ module("shared/helpers", { setup: function() { - + bid.Renderer.render("#page_head", "site/add_email_address", {}); }, teardown: function() { + $("#page_head").empty(); } }); diff --git a/resources/static/test/qunit/shared/user_unit_test.js b/resources/static/test/qunit/shared/user_unit_test.js index 72f870c2fdb2ee65d2b274dca05cc10c3c4522cc..54a2e2d0fe258fc1f59b1c325dd422c06f7a0bff 100644 --- a/resources/static/test/qunit/shared/user_unit_test.js +++ b/resources/static/test/qunit/shared/user_unit_test.js @@ -240,7 +240,7 @@ var vep = require("./vep"); }); asyncTest("createUserWithInfo", function() { - ok(false, "write some tests for this"); + ok(true, "For development speed and reduced duplication of tests, tested via createUser"); start(); }); diff --git a/resources/views/add_email_address.ejs b/resources/views/add_email_address.ejs new file mode 100644 index 0000000000000000000000000000000000000000..36c22156c4b10475295fd76c79515cabe6b85028 --- /dev/null +++ b/resources/views/add_email_address.ejs @@ -0,0 +1,65 @@ +<div id="vAlign" class="display_always"> + <div id="signUpFormWrap"> + <ul class="notifications"> + <li class="notification error" id="cannotconfirm">Error encountered while attempting to confirm your address. Have you previously verified this address?</li> + <li class="notification error" id="cannotcommunicate">Error comunicating with server.</li> + <li class="notification error" id="cannotcomplete">Error encountered trying to complete registration.</li> + </ul> + + <form id="signUpForm" class="cf"> + <p class="hint siteinfo">Finish signing into: <strong><span class="website"></span></strong></p> + <h1 class="serif">Email Verification</h1> + + <ul class="inputs password_entry"> + <li> + <label class="serif" for="email">Email Address</label> + <input class="youraddress sans" id="email" placeholder="Your Email" type="email" value="" disabled="disabled" maxlength="254" /> + </li> + <li> + <label class="serif" for="password">New Password</label> + <input class="sans" id="password" placeholder="Enter a Password" type="password" autofocus maxlength=80 /> + + <div class="tooltip" id="password_required" for="password"> + Password is required. + </div> + + <div class="tooltip" id="password_too_short" for="password"> + Password must be at least 8 characters long. + </div> + </li> + <li> + <label class="serif" for="vpassword">Verify Password</label> + <input class="sans" id="vpassword" placeholder="Repeat Password" type="password" maxlength=80 /> + + <div class="tooltip" id="vpassword_required" for="vpassword"> + Verification password is required. + </div> + + <div class="tooltip" id="passwords_no_match" for="vpassword"> + Passwords do not match. + </div> + </li> + </ul> + + <div class="submit cf password_entry"> + <button>Finish</button> + </div> + + <p class="hint">One moment while we attempt to confirm your email address...</p> + + </form> + + <div id="congrats"> + <p class="serif"> + <strong id="email">Your address</strong> has been verified! + + <p class="siteinfo"> + Your new address is set up and you should now be signed in. + You may now close this window and go back to + <strong class="website"></strong> + </p> + </p> + </div> + </div> +</div> + diff --git a/resources/views/verify_email_address.ejs b/resources/views/verify_email_address.ejs new file mode 100644 index 0000000000000000000000000000000000000000..235e7873d27f84a8b40f5f974fa47c4c6a796460 --- /dev/null +++ b/resources/views/verify_email_address.ejs @@ -0,0 +1,63 @@ +<div id="vAlign" class="display_always"> + <div id="signUpFormWrap"> + <ul class="notifications"> + <li class="notification error" id="cannotconfirm">There was a problem with your signup link. Has this address already been registered?</li> + <li class="notification error" id="cannotcommunicate">Error comunicating with server.</li> + <li class="notification error" id="cannotcomplete">Error encountered trying to complete registration.</li> + </ul> + + <form id="signUpForm" class="cf"> + <p class="hint siteinfo">Finish signing into: <strong><span class="website"></span></strong></p> + <h1 class="serif">Last step!</h1> + + <ul class="inputs"> + <li> + <label class="serif" for="email">Email Address</label> + <input class="youraddress sans" id="email" placeholder="Your Email" type="email" value="" disabled="disabled" maxlength="254" /> + </li> + <li> + <label class="serif" for="password">New Password</label> + <input class="sans" id="password" placeholder="Enter a Password" type="password" autofocus maxlength=80 /> + + <div class="tooltip" id="password_required" for="password"> + Password is required. + </div> + + <div class="tooltip" id="password_too_short" for="password"> + Password must be at least 8 characters long. + </div> + </li> + <li> + <label class="serif" for="vpassword">Verify Password</label> + <input class="sans" id="vpassword" placeholder="Repeat Password" type="password" maxlength=80 /> + + <div class="tooltip" id="vpassword_required" for="vpassword"> + Verification password is required. + </div> + + <div class="tooltip" id="passwords_no_match" for="vpassword"> + Passwords do not match. + </div> + </li> + </ul> + + <div class="submit cf"> + <button>Finish</button> + </div> + + </form> + + <div id="congrats"> + <p class="serif">Thank you for signing up with <strong>BrowserID</strong>. You can now use your <strong>BrowserID</strong> account to <em>Sign In</em> or <em>Sign Up</em> to websites all across the web! + </p> + + <p class="serif siteinfo"> + Your new address is set up and you should now be signed in. + You may now close this window and go back to + <strong class="website"></strong> + </p> + </div> + + </div> +</div> + diff --git a/resources/views/verifyemail.ejs b/resources/views/verifyemail.ejs deleted file mode 100644 index 47d15193d13d265eeffc5c615b5cca8fe1f04ec6..0000000000000000000000000000000000000000 --- a/resources/views/verifyemail.ejs +++ /dev/null @@ -1,28 +0,0 @@ -<div id="vAlign" class="display_always"> - <div id="signUpFormWrap"> - <div id="signUpForm" class="cf"> - <h1 class="serif">Email Verification</h1> - - <ul class="notifications"> - <li class="notification error" id="cannotconfirm">Error encountered while attempting to confirm your address. Have you previously verified this address?</li> - <li class="notification error" id="cannotcomplete">Error encountered trying to complete registration.</li> - </ul> - - <p class="hint">One moment while we attempt to confirm your email address...</p> - - </div> - - <div id="congrats"> - <p class="serif"> - <strong id="email">Your address</strong> has been verified! - - <p class="siteinfo"> - Your new address is set up and you should now be signed in. - You may now close this window and go back to - <strong class="website"></strong> - </p> - </p> - </div> - </div> -</div> - diff --git a/resources/views/verifyuser.ejs b/resources/views/verifyuser.ejs deleted file mode 100644 index 7a54af78988fab7a6299b99736c428cddf8cc268..0000000000000000000000000000000000000000 --- a/resources/views/verifyuser.ejs +++ /dev/null @@ -1,64 +0,0 @@ -<div id="vAlign" class="display_always"> - <div id="signUpFormWrap"> - <ul class="notifications"> - <li class="notification error" id="cannotconfirm">There was a problem with your signup link. Has this address already been registered?</li> - <li class="notification error" id="cannotcommunicate">Error comunicating with server.</li> - <li class="notification error" id="cannotcomplete">Error encountered trying to complete registration.</li> - </ul> - - <form id="signUpForm" class="cf"> - <p class="hint siteinfo">Finish signing into: <strong><span class="website"></span></strong></p> - <h1 class="serif">Last step!</h1> - - - <ul class="inputs"> - <li> - <label class="serif" for="email">Email Address</label> - <input class="youraddress sans" id="email" placeholder="Your Email" type="email" value="" disabled="disabled" maxlength="254"> - </li> - <li> - <label class="serif" for="password">New Password</label> - <input class="sans" id="password" placeholder="Enter a Password" type="password" autofocus maxlength=80> - - <div class="tooltip" id="password_required" for="password"> - Password is required. - </div> - - <div class="tooltip" id="password_too_short" for="password"> - Password must be at least 8 characters long. - </div> - </li> - <li> - <label class="serif" for="vpassword">Verify Password</label> - <input class="sans" id="vpassword" placeholder="Repeat Password" type="password" maxlength=80> - - <div class="tooltip" id="vpassword_required" for="vpassword"> - Verification password is required. - </div> - - <div class="tooltip" id="passwords_no_match" for="vpassword"> - Passwords do not match. - </div> - </li> - </ul> - - <div class="submit cf"> - <button>Finish</button> - </div> - - </form> - - <div id="congrats"> - <p class="serif">Thank you for signing up with <strong>BrowserID</strong>. You can now use your <strong>BrowserID</strong> account to <em>Sign In</em> or <em>Sign Up</em> to websites all across the web! - </p> - - <p class="serif siteinfo"> - Your new address is set up and you should now be signed in. - You may now close this window and go back to - <strong class="website"></strong> - </p> - </div> - - </div> -</div> -