Commit graph

102 commits

Author SHA1 Message Date
Scott Erickson
cf9d082ffa Have client check for achievement updates 2016-08-29 16:32:42 -07:00
Scott Erickson
ae28223b96 Add course edits stats properties to user schema 2016-08-23 13:34:19 -07:00
Nick Winter
88a07b5c09 Destroy vim mode option 2016-05-30 17:08:11 -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
cdddc24693 Add user.ageRange enum values update note 2016-04-27 15:23:03 -07:00
Rob
4183764b61 Add birthday field to user that rejects users under 13 on signup. 2016-04-26 14:00:49 -07:00
phoenixeliot
beb53d9f2f Various fixes and changes to teacher-accounts and teacher-dashboard 2016-04-04 15:42:29 -07:00
Nick Winter
260fd21f4e Add Segment for teachers, misc analytics cleanup tweaks 2016-02-02 15:13:55 -08:00
Matt Lott
d2921f66cb Add approved teacher trials to mail news group 2016-01-17 07:39:30 -08:00
Rob
86d9b081c1 Merge branch 'cashew' 2016-01-06 12:03:49 -08:00
Scott Erickson
220c124780 Remove enum from user gender string
Fixes a bug where when logging in with G+ with profile gender 'other', login doesn't fail silently.
2016-01-04 16:34:50 -08:00
CodeCombat
41a532cb50 WIP - cashew integration 2016-01-04 16:27:27 -08:00
Scott Erickson
079109145f Cull recruiting views and translations 2015-12-18 10:34:21 -08:00
Nick Winter
88ee363576 Add schoolName field to AuthModal 2015-12-01 17:44:03 -08:00
Nick Winter
c8ceca4d3d Add user.courseInstances, use it for course ladders 2015-11-19 10:41:31 -08:00
Nick Winter
f7f7cd683e Allow using hero levels as course levels. Refactor current course tracking to use GET parameters. 2015-11-12 10:25:25 -08:00
Scott Erickson
0c5b39e029 Merge branch 'master' into course-correction
Some package scripts got in the way of each other
2015-11-09 18:18:02 -08:00
Scott Erickson
4b71447877 Have POST /db/prepaid/:id/redeemers set user.coursePrepaidID property 2015-11-05 12:53:25 -08:00
Nick Winter
34715befcc Increment user's concept stats on level completion 2015-11-04 13:42:09 -08:00
Scott Erickson
9e04d425cc Levels link in ControlBarView goes to last visited course instance page for course levels 2015-10-27 17:04:07 -07:00
Nick Winter
5dde55c1f3 Add premium server recognition for Brazil 2015-10-09 08:05:34 -07:00
Matt Lott
b12b7e8ca4 Add user deletion date
Fixes #2734
2015-06-18 15:17:56 -07:00
Nick Winter
7471b14c4d Fixed #2013: removed autorun code. Fixed preloading to actually happen, but only on short solutions without a ton of statement execution. 2015-04-18 15:52:24 -07:00
Nick Winter
8bf42fff50 Added achievement, campaign, and poll patch properties to User schema. 2015-04-08 10:55:44 -07:00
Matt Lott
a77e9cafe9 Merge branch 'clans' 2015-04-06 11:18:08 -07:00
Nick Winter
383e64d6dc Updating possible user gender choices. 2015-04-03 19:12:48 -07:00
Matt Lott
56342ad993 Normalize clan members data 2015-04-02 17:00:28 -07:00
Nick Winter
b4ea78e5cb Implementing alternative pricing with Alipay in China to support dedicated China server. 2015-03-23 15:26:44 -07:00
Matt Lott
fec3ac38e9 Prepaid subscriptions
Admins can generate a prepaid code, which a user can use to subscribe
for free via the account/subscription page.
The subscription will be identical to the normal monthly subscription
(e.g. 3500 gems per month), except they won’t be charged.
Does not require the recipient to enter billing information.
Can be applied to an existing subscription, which will be converted to
free.
Prepaid code can only be used once.
Prepaid subscription cannot be unsubscribed via the UI.
2015-03-19 15:04:15 -07:00
Matt Lott
af89452b93 Merge branch 'sponsored-subs' 2015-03-13 15:19:20 -07:00
Nick Winter
495845a633 Storing certain poll results in User object. Showing a poll once per day. 2015-03-09 09:30:51 -07:00
Nick Winter
2d18bcf9f0 Recording referrer information. Updating parent email prompt to also show after Signs and Portents if that's the fourth level. 2015-03-03 09:04:53 -08:00
laituan245
a588a3b2c8 Some updates to the PR #2359 2015-02-25 02:12:39 +09:00
Matt Lott
f6bcc94bf8 Fix oneTimes email schema
Changing ‘targetEmail’ field to ‘email’.
2015-02-06 09:47:06 -08:00
Matt Lott
c842f45786 Update subscribe modal with parent help button 2015-02-04 13:54:38 -08:00
Scott Erickson
d0ee8cb7c7 Set up the server to allow admins to assign customers coupons. Fixed up how customers are created/updated by the server to allow setting new payment information rather than forever using the payment info first provided. 2014-12-04 17:41:27 -08:00
Scott Erickson
7025f0a488 Another hotfix for people having preferredLanguage set to null. It's preventing people from subscribing because they can't put a User object that does not validate. Still can't repro, but it's happened to a lot of people and continues to happen to new people signing up. 2014-12-04 11:56:14 -08:00
Scott Erickson
cd3bb690f4 Created stripe subscription logic. 2014-12-02 20:02:35 -08:00
Scott Erickson
5dcdabfd62 Refactored stripeCustomerID to stripe object in the user object so we can put more stuff in there. 2014-12-02 11:47:15 -08:00
Michael Schmatz
f84e92595b Changed UDID to identifierForVendor 2014-11-20 20:03:24 -05:00
Scott Erickson
a18537b065 Added the ability to assign a user an iOS UDID, and login with it. 2014-11-20 15:54:15 -08:00
Scott Erickson
95dca575d1 Set up stripe on the server and site to allow purchases through the website. 2014-11-17 15:15:08 -08:00
Scott Erickson
33d14918b0 Implementation of Heald's design of the PlayItemsModal. Added purchasing logic to the server to support it. Refactored header font from Bangers to Open Sans Condensed. 2014-11-03 20:48:59 -08:00
Nick Winter
98fed4a277 Extended Achievements to support earning heroes, items, levels, and gems. Fixed a few Achievement bugs. 2014-09-26 02:29:04 -07:00
Nick Winter
61aa2d8b6f Changed default language from JavaScript to Python. Fixed a few InventoryView tests. Adjusted maze real-time playback speed factor code. 2014-09-25 13:29:20 -07:00
Nick Winter
a57cc0126e A few more tweaks for #1584. Hero victory now always goes to world map. 2014-09-23 17:13:41 -07:00
David Beckley
2acebb54c6 Fix #1005 2014-09-21 23:02:06 -07:00