Commit graph

135 commits

Author SHA1 Message Date
Scott Erickson
77e45072a5 Remove justPlayCourses heuristic, replace with isStudent, remove old HomeView 2016-09-01 10:41:43 -07:00
Scott Erickson
cf9d082ffa Have client check for achievement updates 2016-08-29 16:32:42 -07:00
Matt Lott
f391030b44 Add hints test group distinction comments 2016-08-24 12:05:40 -07:00
Nick Winter
8ec17265dc Give China server all free levels but hide paid levels (#3855)
* Give China server all free levels but hide paid levels

* Don't prompt to buy gmes on free-only server on insufficient gems for item/hero purchases
2016-08-17 10:00:56 -07:00
phoenixeliot
a47bdc084a Allow admins to become teachers 2016-07-28 15:28:31 -07:00
Scott Erickson
34310642c7 Add destudent and deteacher buttons to AdministerUserModal 2016-07-25 16:09:24 -07:00
Matt Lott
9962ff83d4 Level editor play classroom options 2016-07-23 21:03:19 -07:00
Matt Lott
1f1132ecf8 Prioritize displaying first/last names over username 2016-07-18 12:38:29 -07:00
phoenixeliot
4e449fea3b Fix gplus/fb signin and tests 2016-07-18 11:41:18 -07:00
phoenixeliot
bb6262483f Allow username-only signup for classroom users
Address some code review feedback

Correct error code in test

Don't try to send emails to empty addresses

Add tests for subscriptions

Add tests for Next Steps email

Fix specs

Add reason for disabled test
2016-07-18 10:41:17 -07:00
Scott Erickson
af9f7201d0 Finish new CreateAccountModal 2016-07-07 15:56:41 -07:00
Nick Winter
a4654f613d Add two starting new heroes. Fix #2753 again for now. 2016-06-24 14:57:21 -07:00
Scott Erickson
86fc4a3846 Hints v1
Add per-level tips and tricks, available during gameplay to help unstick players.

Closes #3736
2016-06-15 16:12:41 -07:00
Scott Erickson
69f3ee3a5b Allow username login, tear out a bunch of related stuff in change
* Switch from auth.loginUser to User.loginPasswordUser with Promise
* Remove a cascade of unused views that were using auth.loginUser: StudentLogInModal, StudentSignupModal, HourOfCodeView
* Also remove auth.createUser
2016-06-08 13:55:19 -07:00
Matt Lott
c3f1e6e04c Turn off homepage logged out a/b tests 2016-06-07 05:36:48 -07:00
Matt Lott
4bb3ac1f0a Replace Anoner with Anonymous
Closes #3686
2016-05-26 16:54:24 -07:00
phoenixeliot
3d705e5d70 Fix bugquest bugs
Fix link to /teachers/classes (fixes bugquest#20)

Fix edit button color/icon (bugquest#23)

Fix bugquest#34

Fix password input width (bugquest#33)

Center new pasword text

Fix teacher password reset endpoint (bugquest#4)

Refactor+use NewHomeView logic for user page button (Fixes bugquest#2)

Refactor teacher-password-reset endpoint

This makes it much easier to prevent collisions with other logic when PUTing new User attributes.

Add regression test for converting to teacher account

Fix email verified links, require login (fix bugquest#16)

Fix me having stale emailVerified value (Fixes bugquest#40)

Don't show JoinClassModal to students

Add paragraph to JoinClassModal (fixes bugquest#14)

Update change-password label text (fixes bugquest#30)

Fix prompting for login on Account Settings page (bugquest #10)

Show validation errors for teacher password reset (bugquest#36)

Show yellow progress dot in My Classes if anyone has started (bugquest#55)

Remove confusing text (bugquest#100)
2016-05-24 14:10:17 -07:00
Scott Erickson
f0fa88206d Add Enrollment start/end dates, remove self-serve
* Refactor several related endpoints and views
* Redesign EnrollmentView, add TeacherContactModal
* Add "Enrollment Status" tab to TeacherClassView
* Delete PurchaseCoursesView and related files
* Style-flatten RemoveStudentModal
* Fix error handling in ActivateLicensesModal
* TeacherCoursesView loads faster by only loading course campaigns, and not load prepaids
2016-05-24 14:07:28 -07:00
phoenixeliot
8496343a02 Improve student account recovery
This adds the ability to verify email addresses of a user, so we know they have access to the email address on their account.

Until a user has verified their email address, any teacher of a class they're in can reset their password for them via the Teacher Dashboard. When a user's email address is verified, a teacher may trigger a password recovery email to be sent to the student.

Verification links are valid forever, until the user changes the email address they have on file. They are created using a timestamp, with a sha256 of timestamp+salt+userID+email. Currently the hash value is rather long, could be shorter.

Squashed commit messages:

Add server endpoints for verifying email address

Add server endpoints for verifying email address (pt 2)

Add Server+Client endpoint for sending verification email

Add client view for verification links

Add Edit Student Modal for resetting passwords

Add specs for EditStudentModal

Tweak method name in EditStudentModal

Add edit student button to TeacherClassView

Fix up frontend for teacher password resetting

Add middleware for teacher password resetting

Improve button UX in EditStudentModal

Add JoinClassModal

Add welcome emails, use broad name

Use email without domain as fallback instead of full email

Fetch user on edit student modal open

Don't allow password reset if student email is verified

Set role to student on user signup with classCode

Tweak interface for joinClassModal

Add button to request verification email for yourself

Fix verify email template ID

Move text to en.coffee

Minor tweaks

Fix code review comments

Fix some tests, disable a broken one

Fix misc tests

Fix more tests

Refactor recovery email sending to auth

Fix overbroad sass

Add options to refactored recovery email function

Rename getByCode to fetchByCode

Fix error message

Fix up error handling in users middleware

Use .get instead of .toObject

Use findById

Fix more code review comments

Disable still-broken test
2016-05-24 14:07:28 -07:00
Matt Lott
6f6d65a005 /courses/update-account page
Allows a user to update their account based on their current role of:
individual, student, or teacher

Closes #3647
2016-05-18 06:06:28 -07:00
Scott Erickson
c1dc80e93f Escape inputs for name conflict checks 2016-05-03 14:47:39 -07:00
phoenixeliot
91fa467251 Fix teacher sessionless play; uses default campaign levels
Fix typo

Fix race condition with loading next level

Return an empty object for next level instead of an error;
Supermodel has a race condition when some of the models fail to load,
when we override an error response as "success".

Fix next level spec

Remove comment per Scott's request
2016-04-28 12:46:09 -07:00
phoenixeliot
4b6dde9809 Unbreak non-course campaign for teachers 2016-04-15 13:39:11 -07:00
phoenixeliot
c3da6a23c9 Change isTeacher checks to isSessionless for /play 2016-04-15 10:58:52 -07:00
phoenixeliot
beb53d9f2f Various fixes and changes to teacher-accounts and teacher-dashboard 2016-04-04 15:42:29 -07:00
phoenixeliot
4a72ffc185 Implement all of teacher-dashboard 2016-04-04 15:19:27 -07:00
Scott Erickson
bd3a77da9f Implement teacher accounts 2016-04-04 15:18:06 -07:00
Rob Blanckaert
9da65cdcff New homepage variations. 2016-03-25 17:09:58 -07:00
Matt Lott
6a4132e057 Update campaign ads test groups 2016-03-21 08:07:22 -07:00
Scott Erickson
2e96a387e9 Add User.logout to client 2016-03-18 11:03:54 -07:00
Matt Lott
255ebbc048 Ads for free campaign players
Display leaderboard ads on campaign and play views.
Do no show ads in classroom, picoCTF, or to teachers.
Add no ads blurb to subscription features matrix.
Scale game UI for ads on short screens.

Closes #3491
2016-03-18 10:29:31 -07:00
Scott Erickson
ebc98f988f Refactor CreateAccountModal out of AuthModal, add class code to signup 2016-03-10 10:52:11 -08:00
Matt Lott
bce9862be2 Update request demo Ux
Renaming request quote to request demo
Changing create class wording to set up class
Showing different UI if teacher or not
Adding gameplay screenshots to homepage
Update request demo email

Closes #3449
2016-03-08 09:30:50 -08:00
Scott Erickson
a2249f8df1 Add return-to-admin (turn off espionage mode) 2016-03-04 10:43:17 -08:00
Matt Lott
9e8e865049 Remove old homepage
Turning off homepage a/b testing for now, but leaving the plumbing in
because we’ll be iterating on that shortly.
2016-03-01 09:48:53 -08:00
Nick Winter
40d7c53cd0 Fix 435d5bb6 2016-02-08 14:34:29 -08:00
Nick Winter
435d5bb6d2 Improve getHomePageGroup and narrow to two variants 2016-02-08 14:20:30 -08:00
Nick Winter
14c734cfe8 Remove some logs to complete my testing 2016-02-02 16:56:08 -08:00
Nick Winter
260fd21f4e Add Segment for teachers, misc analytics cleanup tweaks 2016-02-02 15:13:55 -08:00
Scott Erickson
0e7e9aad39 Add new home page with test 2016-02-02 15:12:37 -08:00
Cat Sync
feb4c16b85 broadName should insert a space when using firstName lastName, and return Anoner if nothing else is available 2016-01-22 13:58:02 -05:00
Scott Erickson
5e733d1517 Add ActivateLicensesModal to ClassroomView 2015-11-30 16:59:22 -05:00
Nick Winter
21810be8eb End an A/B test 2015-11-22 07:53:49 -08:00
Nick Winter
5dde55c1f3 Add premium server recognition for Brazil 2015-10-09 08:05:34 -07:00
Nick Winter
1819911551 A/B/C test the first subscription prompt level 2015-09-18 08:28:04 -07:00
Matt Lott
9e222d0873 Add subscription sale
Give a discount for purchasing a year
New sale button on subscribe modal
New subscription sale landing page
2015-08-21 11:19:39 -07:00
Nick Winter
4f962c3120 Switched fourth level group to the good-converting level instead of the bad one (oops). 2015-04-03 09:08:02 -07:00
Nick Winter
7dff105cdf Insane hackery for #1777 to give us more code editor space, better use of space with tall screens, and scrolling API properties. Watch out for bugs. 2015-03-25 16:47:31 -07:00
Matt Lott
af89452b93 Merge branch 'sponsored-subs' 2015-03-13 15:19:20 -07:00
Nick Winter
9c99fc455a A few poll fixes. 2015-03-10 09:45:21 -07:00