Commit graph

387 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
84e3ee270a Add primer level support to classroom Ux
Exclude levels if classroom.aceConfig.language == level.primerLanguage

Closes #3856
2016-08-16 16:52:17 -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
Phoenix Eliot
73bbe598da Improve WebDev level image gallery
Improve image gallery

Add How to Copy/Paste section

Fix modal close button

Add specs for image gallery

Fix up i18n

Fix render resetting scroll

Address code review feedback

Ensure afterRender is called
2016-08-12 13:19:26 -07:00
Matt Lott
0f00ae1718 Disable supermodel timeout handling tests 2016-08-11 15:36:52 -07:00
Phoenix Eliot
a4f48bbc17 Add tests for SuperModel load retrying
Clear timeouts after each test
2016-08-10 15:28:33 -07:00
Scott Erickson
954780d19f Finesse RequestQuoteView load waiting
Trying to get those tests to pass consistently on Travis.
2016-08-10 10:13:28 -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
Matt Lott
6f08d5e422 Add required district field to teacher trial request forms
School now optional
N/A placeholder on district field and don't save it if it's n/a
Updating required field error UI a bit, and there is some larger
refactoring needed here later.
NCES phone number for district only entries will currently be a child
school, will fix later.

Closes #3818
2016-08-05 13:25:19 -07:00
phoenixeliot
5f560f3e7d Don't allow conversion to student without a ClassCode
Fix i18n and tests
2016-08-01 16:44:57 -07:00
phoenixeliot
bd45f75bc0 Add test for Export Student Progress (CSV) button
Add number checking to CSV test
2016-08-01 15:31:55 -07:00
phoenixeliot
f1f020a50d Use course.releasePhase instead of .adminOnly
Remove old comment
2016-07-25 11:29:30 -07:00
phoenixeliot
5fa2e9b865 Stop spec from using your godmode setting 2016-07-25 10:51:52 -07:00
Matt Lott
f8a67ace0e Remove items from course victory dialog 2016-07-11 16:01:34 -07:00
Scott Erickson
af9f7201d0 Finish new CreateAccountModal 2016-07-07 15:56:41 -07:00
Scott Erickson
fe1598cab2 Implement multi-select, remove click-to-navigate from level editor 2016-06-28 09:20:05 -07:00
Matt Lott
d72e4eb750 Practice levels Ux and next level algorithm
Update classroom and gameplay Ux to surface practice levels as 3a, 3b,
etc.
Update next level logic to leverage practice levels based on per level
completion playtime thresholds.
Patrol buster and patrol buster A are live for testing.
Fix a few classroom Ux progress hover bubble info bugs.

Closes #3767
2016-06-27 14:05:42 -07:00
Matt Lott
08886460c2 Remove default licenses needed from request form 2016-06-26 14:49:09 -07:00
Matt Lott
4622337d82 Update licenses needed form
Ensure the needed licenses are in the subject resulting email.
2016-06-17 15:40:07 -07:00
Scott Erickson
514fce349a Include ladder levels in level stats in teacher views, clean client test logs 2016-06-17 15:15:13 -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
phoenixeliot
b1bbc0d5de Test client for invite-by-email 2016-06-13 12:08:26 -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
Scott Erickson
891d0fe12f Fix TeacherClassView sometimes not loading
This was a race condition where the view would trigger a render
before courses loaded, and the template required them when it had
some of its other resources.
2016-06-06 13:55:37 -07:00
Scott Erickson
b3663196d7 Fix CourseVictoryModal.spec 2016-06-03 13:40:41 -07:00
phoenixeliot
870ae9a8a1 Add hero selector for courses mode
Use selected hero in Course mode play

Show selected hero on Courses (in progress)

Add hero select modal

Use short names, only show warriors

Use box-shadow instead of borders

Add tests for HeroSelectModal

Refactor modal opening test

Address code review feedback
2016-06-03 13:40:41 -07:00
Scott Erickson
13ca4a6174 Fix intermittent CreateAccountModal error
AuthModal spec was loading the G+ API during tests, which
caused G+ to get unhappy when CreateAccountModal mocked it.
2016-06-02 10:59:45 -07:00
phoenixeliot
18138ec6ae Fix typo 2016-06-02 10:55:48 -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
Nick Winter
da90ab980e Fix some failing tests 2016-05-31 10:59:06 -07:00
Matt Lott
e218af8418 Terminology change: enrollments/credits => licenses
Closes #3676
2016-05-25 09:27:47 -07:00
phoenixeliot
a1a55a9b6d Remove revoke functionality 2016-05-24 16:05:40 -07:00
Scott Erickson
8dbc86ca04 Fix bugquest bugs
Hide TeachersContactModal after sending message

Fix GET /db/level/:handle/session, more extensively test

Fix EnrollmentView number of students input to stop losing focus on input

Fix EnrollmentsView syntax

Fix ActivateLicensesModal "Get Enrollments" button when already in the enrollments page

Update EnrollmentsView with new credit numbers when ActivateLicensesModal closes

Hide search box in TeacherClassView "Enrollment Status" tab

Tweak EnrollmentsView styling

Fix EnrollmentsView tests

Fix AnalyticsView

Make EnrollmentsView more explicitly handle undefined and empty array prepaid groups

Remove log

CoursesView handles JoinClassModal cancel

Re-enable EditStudentModal set password button when the form changes

Fix course instance tests, next level endpoint bug

Fix EditStudentModal tests
2016-05-24 14:10:56 -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
duybkict
672c89e0bc Update Vagrant setup scripts
install nodejs using nvm
fix issues with Windows/Linux new line characters
update auto-reload-brunch
drop bless-brunch
resolve related issue #3588
2016-05-12 09:46:34 -07:00
Scott Erickson
3ad395ecb8 Lightweight invoice purchases show description on PaymentsView 2016-05-06 11:43:54 -07:00
Scott Erickson
63a11a75f4 Refactor client tests to use factories instead of fixtures 2016-05-05 11:24:29 -07:00
Scott Erickson
40f9b059fd Fix client tests 2016-05-04 09:25:12 -07:00
phoenixeliot
c666a39d3b Fix StudentLoginModal crash on invalid login
Add test for student bad login
2016-04-29 15:34:11 -07:00
phoenixeliot
08986ffd37 Reposition continue button to always be visible (ShareProgressModal) 2016-04-28 11:09:44 -07:00
Scott Erickson
675e3290ac Lock course content to classrooms 2016-04-27 09:58:04 -07:00
Rob
4e630362ce - Switch to flat modal
- Diffuse test time bomb
2016-04-26 14:35:07 -07:00
Rob
5bd8f7a1cb COPPA tests. 2016-04-26 14:01:03 -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
phoenixeliot
e2d08fa7cf Stuff
Partially fix ActivateLicensesModal.spec

[IN PROGRESS] Don't display deleted users

Move userID to classroom.deletedMembers on user delete (not retroactive)

Fix PDF links for course guides, remove old PDFs from repo

Remove deprecated SalesView

Remove underline for not-yet-linked student names

Only show class select when there's more than one

Ignore case when sorting student names

Use student.broadName instead of name for display and sorting

Fix initial load not showing progress after joining a course (hacky)

Fix text entry for enrollment number input

Fix enrollment statistics

Fix enrollment stats completely (and add back in per-class unenrolled count)

Add deletedMembers to classroom schema

More fixes to enrollment stats (don't count nonmember prepaids)

Don't use 0 as implicit false for openSpots

Update suggested number of credit to buy automatically

Fix classroom edit form ignoring cleared values

Add alert text when more users selected than enrollments available

Alert user when trying to assign course to unenrolled students

Alert user when assigning course to nobody

Add some tests for TeacherClassView bulk assign alerts

Fix TeacherClassView tests failing without demos

Use model/collection.fakeRequests :D

Remove unused comment

Fix handling of improperly sorted deleted users on clientside

Add test for moving deleted users to deletedMembers

Add script for moving all deleted classroom members to classroom.deletedMembers

Completely rewrite tallying up enrollment statistics

Fix some tests to not be dependent on logged-in user

Address PR comments

Fix default number of enrollments to buy

Fix i18n for not enough enrollments

Use custom error message for classroom name length
2016-04-19 12:32:20 -07:00
phoenixeliot
e5734cbdd3 Fix coursesHelper tests, improve fixture specificity 2016-04-18 13:29:55 -07:00
Scott Erickson
d5662fa2c9 Add fakeRequests array to models and collections during client tests
So you don't have to find the request through jasmine-ajax's functions.
2016-04-14 15:26:29 -07:00
Scott Erickson
5aeb559ad1 Fix ConvertToTeacherAccountView to save the email field 2016-04-07 14:40:21 -07:00