Commit graph

99 commits

Author SHA1 Message Date
Scott Erickson
cf9d082ffa Have client check for achievement updates 2016-08-29 16:32:42 -07:00
Scott Erickson
139efe4cf7 Implement POST /db/user/:handle/check-for-new-achievement, couple tweaks
* Enforce being logged in for POST /db/earned_achievement
* Extend timeout for race condition user tests
2016-08-29 14:53:51 -07:00
Scott Erickson
f509c95a4b Refactor POST /db/earned_achievement 2016-08-29 14:53:36 -07:00
Scott Erickson
5c8b8832b3 Refactor and better test EarnedAchievement.createForAchievement 2016-08-29 14:52:50 -07:00
Scott Erickson
ae82875c57 Refactor post new level version handler, add failed save handling
When a new version is created, the latest version is updated, then
the new one is made. If making a new one fails (most commonly due to
a name conflict), the latest version is left in a broken state. Set up
the new middleware to revert changes to latest version in this case,
and update the level handler to use the middleware. Also added
warning logs if models do not have editableProperties or postEditableProperties
set.
2016-08-25 10:28:46 -07:00
Scott Erickson
b175c02714 Fix article test to handle patches endpoint change 2016-08-23 16:19:25 -07:00
Scott Erickson
300c81e72b Course translations fixes
* Restrict patch handling properly
* Fix #3860, CS 2 description
* i18nCoverage is updated when new translations are auto-accepted
* Course patches are listed on PendingPatchesView properly
* 'Artisan' permission allows editing course translations
2016-08-18 13:29:52 -07:00
Scott Erickson
d4af931e05 Add course (name, description) translations 2016-08-18 10:10:18 -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
Scott Erickson
a5f18f88be Add script that migrates users with email-formatted usernames 2016-08-12 14:34:08 -07:00
Phoenix Eliot
31a3f9dff8 Clean up console.log in server tests 2016-08-12 13:25:11 -07:00
Matt Lott
f96c3ab00e 🐛Fix course instance server test day range bugs 2016-08-11 22:46:15 -07:00
Matt Lott
5a6bed96b2 🐛Fix course solutions level ordering 2016-08-11 22:26:47 -07:00
Matt Lott
a7e290fffe Replace course guide PDFs with solutions pages 2016-08-11 15:29:56 -07:00
Scott Erickson
c89ee139ed Have GET param 'project' work with [] notation
Otherwise queries like $.ajax('/db/campaign', {data: {project:['name','slug']}})
cause 500 errors.
2016-08-08 09:35:42 -07:00
Scott Erickson
34310642c7 Add destudent and deteacher buttons to AdministerUserModal 2016-07-25 16:09:24 -07:00
phoenixeliot
f1f020a50d Use course.releasePhase instead of .adminOnly
Remove old comment
2016-07-25 11:29:30 -07:00
Scott Erickson
b1c69b686c Add admin button to update course content for classrooms 2016-07-21 15:16:17 -07:00
phoenixeliot
b1277dc95f Merge branch 'game-dev-levels' 2016-07-21 10:14:22 -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
10ca59d10f Have CourseVictoryModal used for course-ladder levels 2016-07-15 15:54:22 -07:00
Scott Erickson
2aa647fa29 Guard against trial-requests and signups being done on the same computer but by different people 2016-07-08 15:33:12 -07:00
Scott Erickson
af9f7201d0 Finish new CreateAccountModal 2016-07-07 15:56:41 -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
425115ad37 Remove level type 'hero-practice', use level.practice 2016-06-25 08:38:59 -07:00
Scott Erickson
d829d15528 Fix(ish) race conditions in server tests 2016-06-20 15:00:29 -07:00
Matt Lott
e0170d0339 Add hero-practice level type and threshold to schema
Filtering out hero-practice levels from classrooms until the Ux
supports them.
2016-06-19 20:23:32 -07:00
Scott Erickson
0581ffde82 Clean server test logging 2016-06-17 10:35:22 -07:00
Scott Erickson
ca83ed05e4 Only require user sessions on /db requests that are not GET 2016-06-16 16:00:45 -07:00
Nick Winter
b0fcddac68 Add game-dev level type (#3725)
* Initial pass adding new game-dev level type.

* Fix a failing test with updated LevelSystem required properties

* Bring back normal Angel worker timeout times

* Fix another failing LevelSystem test since removing propertyDocumentation
2016-06-08 16:57:00 -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
c191f63c15 Revert all of my sendwithus changes
Revert "Fix more sendwithus things"

This reverts commit 9d4215d99d.

Revert "Fix some missed sendwithus changes"

This reverts commit 08bc32e005.

Revert "Fix email tests"

This reverts commit fcb2ce8504.

Revert "Use SendWithUs versioning"

This reverts commit 81d9e19221.
2016-06-06 16:54:15 -07:00
phoenixeliot
fcb2ce8504 Fix email tests 2016-06-06 16:00:46 -07:00
phoenixeliot
0d4a88a957 Strip spaces in classCode on fetch and join 2016-06-06 11:30:20 -07:00
Scott Erickson
5e8b402c3d Switch POST /db/classroom/:id/invite-members to refactored version 2016-06-02 10:27:20 -07:00
Scott Erickson
6e48d700bc Merge branch 'update-invite-to-classroom'
Work was duplicated. Merging in changes from branch, but leaving
the master version as is in this commit.
2016-06-02 10:20:19 -07:00
Scott Erickson
1f3eed9a4e Remove focus 2016-06-01 10:01:41 -07:00
Scott Erickson
b143d552ce Write test, verifying removeFromClassrooms handles sessionless requests 2016-06-01 10:01:05 -07:00
Scott Erickson
ee0195ab21 Require req.user in all /db routes 2016-06-01 09:53:28 -07:00
phoenixeliot
77ba873da9 Add tests for teacher password reset endpoint 2016-05-26 16:07:55 -07:00
Scott Erickson
b255b02854 Add POST /db/level/:handle test
It's erroring in my dev console, complaining of duplicate keys, and not sure why.
Adding a test to make sure creating a new level version doesn't break.
2016-05-26 14:46:54 -07:00
Matt Lott
de9761073d Temporarily disable /contact server test 2016-05-25 16:54:14 -07:00
Scott Erickson
b0ad8b2573 Fix GET /db/level/:handle/session
When making a course session and user has a HoC course instance (no associated classroom)
2016-05-25 10:26:12 -07:00
Matt Lott
e218af8418 Terminology change: enrollments/credits => licenses
Closes #3676
2016-05-25 09:27:47 -07:00
phoenixeliot
2ce666df9c Remove revocation tests 2016-05-24 16:38:52 -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
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