Commit graph

147 commits

Author SHA1 Message Date
Scott Erickson
ef0547f72a Simplify applying licenses
In TeacherClassView, when a teacher assigns a paid course to any unenrolled
student, the view automatically enrolls those students, rather than requiring
the teacher to enroll those students manually first. Update copy throughout.

Also add back (smaller) padding to progress dots in TeacherClassView.
2016-08-23 10:43:31 -07:00
Matt Lott
46e05e893b Redirect students and teachers on sign in
Closes #3857
2016-08-17 14:17:16 -07:00
Phoenix Eliot
fd45c9d473 Implement HeroSelectModal for demo flow
Add Campaign factory

First basic tests for HeroSelectModal in demo flow

Implement HeroSelectModal for demo flow

Improve tests

Disable empty test

Fix text inconsistency around 'me'

Just listen once

Add HeroSelectModal events test

Don't reuse destroyed modal

Fix inconsistent modal close behavior

Fix tests
2016-08-16 11:19:40 -07:00
phoenixeliot
5b8d66cd1c Add hero selector to create account modal
Don't show grey border around Anya in signup modal

Refactor reload handling

Fix courses page updating to chosen hero
2016-08-08 15:19:44 -07:00
Scott Erickson
ac4df997c1 Display treema errors 2016-07-26 16:48:04 -07:00
Scott Erickson
053ce34faf Prevent users from signing up with or changing to an email-like username 2016-07-25 16:33:48 -07:00
phoenixeliot
b1277dc95f Merge branch 'game-dev-levels' 2016-07-21 10:14:22 -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
0570644943 Set up a bunch of game dev, web dev playing logic 2016-07-15 16:57:39 -07:00
David Liu
2ebef96d28 Fix birthday form validation in signup (#3787) 2016-07-11 08:34:29 -07:00
phoenixeliot
b25782f2b6 Pass username/password from CreateAccountModal to AuthModal 2016-07-08 16:24:33 -07:00
Scott Erickson
976015734d Update CreateAccountModal comments 2016-07-07 16:58:50 -07:00
Scott Erickson
151bf93177 Fix checkEmail to prevent duplicate checks 2016-07-07 16:55:57 -07:00
Scott Erickson
ecde42f356 Fix catch callback 2016-07-07 16:22:08 -07:00
Scott Erickson
af9f7201d0 Finish new CreateAccountModal 2016-07-07 15:56:41 -07:00
phoenixeliot
e9b7543242 Start new CreateAccountModal 2016-07-07 15:56: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
phoenixeliot
ae3b8057f7 Detect URL classCode in createAccountModal 2016-06-02 12:51:05 -07:00
Scott Erickson
dfd4602553 AuthModal handles empty fields, fix #3587 2016-05-31 15:54:28 -07:00
Scott Erickson
249255e4dc AuthModal and CreateAccountModal load gplus and facebook on init
On Windows/Chrome, the first click of the g+ button shows a popup
blocked warning, because the action is deferred while loading the
gplus library. Have the modals load the library first, and enable the
buttons when they're ready.
2016-05-31 12:39:30 -07:00
Matt Lott
d0d3d838ed Better page titles
Also ditching non-production constructor page titles
2016-05-27 09:40:46 -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
phoenixeliot
05ae7057db Fix class joining when entering it in the signup field 2016-05-11 14:53:05 -07:00
phoenixeliot
8223122a6b Refactor and update teacher-dashboard
This updates TeacherClassView and ActivateLicensesModal to use the
new state-based rendering system, making it much snappier and less clunky
feeling, and improving data consistency.

Features also included in this:
- Hover details for progress dots in TeacherClassView
- ActivateLicensesModal has an "All Students" option and better handling
  when you switch classrooms in the dropdown
- Unenrolled/Unassigned students are shown separately in Course Progress and
  can be enrolled/assigned from there.

Add Back to Classes button on demo-request submitted view

Delete temporary patch file

Show unenrolled students separately in Course Progress (incomplete)

Migrate TeacherClassView to use orchestrator-style events, add unassigned students section, replace bootstrap tabs with state-based tabs

Convert missed instance variables to be in @state

Fix merge errors

(in progress) Convert a bunch of stuff to use state and events (removing student needs fixing)

Fix up modal interactions, some bugs

Switch state to be a Model, sync up course dropdowns

Convert student sorting to use state model

Add hover tooltips to TeacherClassView Students tab

Don't keep tooltip open when you mouse into it

Add dateFirstCompleted and Course Progress tooltips

Course Overview progress tooltips

Refactor ActivateLicensesModal

Refactors:
Uses state object for view state
Passes back the updated users in 'redeem-users' event instead of modifying given collection

Features:
Add 'All Students' dropdown option
Don't forget checked students if you change classroom from dropdown,
  but only enroll the ones visible when you click "Enroll (n) Students"

Separate enrolled students; improve style

Rearrange error text

Disable enroll-students button when none are selected

Remove console.logs

Move style-flat variables to another file

This prevents .style-flat from being copied in multiple times to the resulting CSS.

Show Unarchive button when on the page for an archived class

Move text to en.coffee

Only sort students on first classroom sync

Fix merge error

Handle sessions missing completion date in view logic instead of migration script

Listen to classroom sync more than once in case it gets unarchived
2016-05-06 13:13:11 -07:00
Nick Winter
747c5f29f7 Finally figured out how to use i18next interpolation correctly; using it on level counts in SubscribeModal 2016-04-28 10:07:47 -07:00
Rob
70999fa150 Track when COPPA dialog is shown. 2016-04-26 16:31:51 -07:00
Rob
5bd8f7a1cb COPPA tests. 2016-04-26 14:01: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
edtrist
b63bf06bed Added server error subscription to AuthModal 2016-04-18 02:12:42 +01:00
phoenixeliot
a524256b5b Add sessionless play for Teachers 2016-04-12 19:34:05 -07:00
Scott Erickson
2a399e71fa Add CocoView.scrollToTop 2016-03-18 11:03:55 -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
a59e96f277 Tweak invalid class code behavior, fix hide modal button test 2016-03-10 11:23:09 -08:00
Scott Erickson
ebc98f988f Refactor CreateAccountModal out of AuthModal, add class code to signup 2016-03-10 10:52:11 -08:00
Nick Winter
6a9a36b1eb Don't show misc achievements in picoCTF mode 2016-03-07 09:54:29 -08:00
Scott Erickson
a2249f8df1 Add return-to-admin (turn off espionage mode) 2016-03-04 10:43:17 -08:00
phoenixeliot
4b02f120e2 Add new About page and refactor out flat-style 2016-02-24 16:22:06 -08:00
Scott Erickson
e2feeb8330 Prevent didReappear from setting up shortcuts twice for RootViews 2016-02-23 12:00:07 -08:00
Scott Erickson
0905a378a0 Fix recent scrolling changes for Firefox 2016-02-17 11:21:43 -08:00
Scott Erickson
c2f02ebbfb Fix scrollToLink, including removing unneeded offset 2016-02-16 10:47:49 -08:00
Scott Erickson
b91299a59f New home page tweaks 2016-02-03 10:59:54 -08:00
Scott Erickson
fa54b639c7 Hide modal wrapper when no modal 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
4ef5f40fa1 Network error handling fixes
* Make work there are multiple network requests and only one fails
* Test for i18n attributes instead of English translations so Travis works
* Various PR changes
2016-01-27 10:42:12 -08:00
Scott Erickson
29350bf1de Make network error handling more generic 2016-01-27 10:41:56 -08:00
Scott Erickson
277c526dc3 Add CourseVictoryModal 2016-01-25 13:03:29 -08:00
Imperadeiro98
b4b444023e Add sounds to SubscribeModal 2016-01-16 11:38:31 +00:00
Nick Winter
7aff24b3a6 Cleaned up a couple SubscribeModal things 2016-01-12 12:34:10 -08:00
Nick Winter
e872ead632 Implement Brazil coupon 2016-01-11 09:52:46 -08:00