Commit graph

87 commits

Author SHA1 Message Date
Matt Lott
9ce4ac51f0 Role-based hard feature blocks 2016-05-27 10:40:54 -07:00
Matt Lott
e218af8418 Terminology change: enrollments/credits => licenses
Closes #3676
2016-05-25 09:27:47 -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
Josh Callebaut
a5cad6f986 Utilize debounce, clean up event logic, remove unused CourseGearView 2016-05-18 12:50:51 -07:00
Josh Callebaut
30c879ddc0 Fix bug with Solution Problem View's problem count; add start of Course Gear View 2016-05-18 12:50:50 -07:00
Josh Callebaut
443bbae5db Improves level/campaign fetching for the solution problems view, and switches the names of the files 2016-05-18 12:50:49 -07:00
Josh Callebaut
0436f18279 Migrates Artisan helpers to their own directory and begins implementation of level tasks view 2016-05-18 12:50:49 -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
Nick Winter
1c8ba6cf40 Add /SEEN URLs used in magazine ad 2016-05-17 10:50:25 -07:00
Matt Lott
9ee8e04514 Redirect /hoc to match /?hour_of_code=true behavior
Both go directly to /play now
2016-05-16 14:50:34 -07:00
Matt Lott
8bc9cd5ee6 Admin teacher demo requests page
Incoming rates table
Student counts table
2016-05-11 11:52:32 -07:00
Scott Erickson
675e3290ac Lock course content to classrooms 2016-04-27 09:58:04 -07:00
Josh Callebaut
c4652d82e2 Implements the SPADE logger into the SpellView
* Updates spade.js vendor file, adds a sublime-project for developers to use
* Moves server logic away from handlers
* Moves session update logic to middleware, sets up server schema to autorender IDs as ObjectIDs
* Modernizes the supermodel loading scheme and switches from constructor to initalize
2016-04-26 09:56:30 -07:00
Scott Erickson
a452f1ce47 Update teacher trial request views, some related bug fixes
* Tweak wording, options
* Instead of storing changes in local storage, warn when users may lose changes by navigating away
* Fix CreateTeacherAccountView so that if you connect to an existing account, the redirect is triggered
* Fix users.coffee weird race condition
2016-04-20 16:30:11 -07:00
Nick Winter
a7114a2719 Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
Scott Erickson
eba4afec17 Merge remote-tracking branch 'origin/master' 2016-04-05 09:43:46 -07:00
Scott Erickson
932238bb82 Fix /teachers redirect 2016-04-05 09:34:45 -07:00
Matt Lott
4b1486159c Change teacher account convert terminology to update 2016-04-05 09:16:22 -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
Scott Erickson
e6593dea8d Refactor FacebookHandler and GPlusHandler
* Move api loading to FacebookHandler
* Use success callbacks
* Use same, properly named events
* Use same functions and property names
* Refactor related social button, out of use rendering system
* Remove the now unnecessary form split from CreateAccountModal
2016-03-18 11:03:55 -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
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
Scott Erickson
0905a378a0 Fix recent scrolling changes for Firefox 2016-02-17 11:21:43 -08:00
Scott Erickson
53eea0c236 Fix navigation from one page to the next
* Reset flying focus so it doesn't lengthen the page
* Scroll to the top of the page when switching views
2016-02-17 11:05:52 -08:00
Nick Winter
37fbd8ca21 Start to play picoCTF levels as course levels without hero selection 2016-02-17 09:53:45 -08:00
Nick Winter
fe351be32e Start to rework CampaignView when we're in picoCTF mode 2016-02-16 20:39:59 -08:00
Scott Erickson
4034d21cd5 Have /schools and /teachers show new home page 2016-02-05 13:47:32 -08:00
Nick Winter
24fc14260e Add /privacy policy page 2016-02-02 15:13:54 -08:00
Scott Erickson
0e7e9aad39 Add new home page with test 2016-02-02 15:12:37 -08:00
Scott Erickson
e62e497543 Replace TeachersFreeTrialView with RequestQuoteView 2016-01-28 17:21:36 -08:00
Scott Erickson
93b9aa3c2c Add DesignElementsView (mostly complete) 2016-01-06 16:11:28 -08:00
Nick Winter
3be6abf2e1 Merge Router.coffee 2015-12-23 08:23:23 -08:00
Josh Callebaut
79ff058117 Adds the Thang Task View. 2015-12-21 12:44:22 -08:00
Scott Erickson
079109145f Cull recruiting views and translations 2015-12-18 10:34:21 -08:00
Scott Erickson
ef3f847932 Remove SubscriptionSaleView 2015-12-16 16:39:44 -08:00
Matt Lott
646aa56716 /schools page 2015-12-16 16:39:43 -08:00
Matt Lott
05497f023f Add /Courses to router 2015-12-03 11:39:13 -08:00
Scott Erickson
0c45e3f96c Add ClassroomView, incomplete 2015-11-30 14:14:27 -05: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
b36bf7b171 Add PurchaseCoursesView 2015-11-05 15:30:57 -08:00
Matt Lott
722540f3be Remove old user analytics page 2015-11-04 10:59:10 -08:00
Matt Lott
d445024cb6 Add admin analytics page with MAUs
Includes updating analytics insert script used to inject aggregated
data into production database.
2015-11-04 10:59:10 -08:00
Scott Erickson
66432990f4 Add framework for new courses pages 2015-11-03 16:41:06 -08:00
Matt Lott
38242eb55e Add /Careers routing entry 2015-10-26 20:39:40 -07:00
Scott Erickson
94d29d2e8a Move trailing slash removal to client Router, make client route "/play/" work for facebook 2015-10-21 16:55:48 -07:00
Matt Lott
708f78153b Route /hoc to courses
When in HoC mode:
Students have an option to play through as a single player, in addition
to entering a code to join an existing class.
Teachers get the normal course enrollment flow, without a sales blurb
on /courses.
2015-10-12 16:25:23 -07:00