Commit graph

3420 commits

Author SHA1 Message Date
Scott Erickson
d4c5d418ff Improve CampaignEditor saving, particularly level order
* Do not cache campaign
* Instead have an on leave message if there are unsaved changes
* Propagate campaignIndex values to campaign and levels so that they signal a change in order

 The save modal seems to have a lot of issues with identifying what models have
 changed. I tried using different methods, but none were consistent. Moving on
 to other bugs.
2016-05-31 15:09:26 -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
phoenixeliot
f067337635 Fix classroom student count 2016-05-31 11:22:42 -07:00
Nick Winter
da90ab980e Fix some failing tests 2016-05-31 10:59:06 -07:00
Matt Lott
fd8f65cadc Help button should open "Overview" (Guide) by default 2016-05-31 10:37:30 -07:00
Nick Winter
4160058505 Make skipping real-time playback jump to final frame. Fix #2827. 2016-05-31 08:50:17 -07:00
Nick Winter
96e6e0de9e Fix #2889: show incremental gem and xp award for replayable levels, not total 2016-05-30 17:33:15 -07:00
Nick Winter
88a07b5c09 Destroy vim mode option 2016-05-30 17:08:11 -07:00
Nick Winter
065069cfdd Make CourseVictoryModal respect Markdown in next level description 2016-05-30 16:26:55 -07:00
Nick Winter
1deddc6fd2 Verifier now runs all solutions and lets you choose which campaigns and languages to skip. 2016-05-30 13:51:09 -07:00
Matt Lott
d0d3d838ed Better page titles
Also ditching non-production constructor page titles
2016-05-27 09:40:46 -07:00
Matt Lott
4bb3ac1f0a Replace Anoner with Anonymous
Closes #3686
2016-05-26 16:54:24 -07:00
Scott Erickson
6b3e94d60a Remove log 2016-05-26 15:12:10 -07:00
Scott Erickson
7d1d1500d9 Fix course progress tab select 2016-05-26 15:01:23 -07:00
Scott Erickson
8f7e4e2278 Add hints to level schema, I18N editor 2016-05-26 14:51:28 -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
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
Nick Winter
dd08a8bd64 Fix always using JavaScript for enemy AI in multiplayer 2016-05-24 13:54:49 -07:00
Nick Winter
8fce97aad3 Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
duybkict
2ded5ff4f0 Refactor ClansView #3138 #3488 2016-05-24 10:05:03 -07:00
duybkict
0e2b919ec1 Refactor AnalyticsView #3138 #3488 2016-05-24 09:35:54 -07:00
duybkict
75c7d140d1 refactor UnsubcribeView #3138 #3488 2016-05-19 07:41:16 -07:00
Scott Erickson
184be0bf65 CourseDetailsView does not link to next course if the student is not assigned to that course 2016-05-18 17:03:49 -07:00
Josh Callebaut
d4a557ef70 Fix uncommented campaigns 2016-05-18 14:53:34 -07:00
Josh Callebaut
a190acb108 Kebab-cases html ids 2016-05-18 13:33:02 -07:00
Josh Callebaut
a5cad6f986 Utilize debounce, clean up event logic, remove unused CourseGearView 2016-05-18 12:50:51 -07:00
Josh Callebaut
38e97ab404 Refactor all server-side fetching calls, refactor solutionProblemView, minor changes to rest 2016-05-18 12:50:50 -07:00
Josh Callebaut
19e1c808d8 Fix filename convention, improve solution checker, remove old files 2016-05-18 12:50:50 -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
bd322b3899 Improvements on solution tracking 2016-05-18 12:50:49 -07:00
Josh Callebaut
8df6a182e8 Further changes on the Analytics view 2016-05-18 12:50:49 -07:00
Josh Callebaut
62a027e76e Initial stages of an analytics view 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
Scott Erickson
d513dfee66 Merge pull request #3656 from duybkict/fix-3488
#3488: use initialize() on PrepaidView
2016-05-18 09:30:57 -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
f6e4aa3249 #3488: use initialize() on PrepaidView 2016-05-18 16:59:36 +07:00
Scott Erickson
0fb6b3095f Merge pull request #3623 from duybkict/fix-3138
Fix #3138
2016-05-17 09:54:21 -07:00
Scott Erickson
f6b3016d85 POST /db/classroom/-/members joins any free course instances, rather then CoursesView doing so 2016-05-16 16:47:08 -07:00
Rob
58895470ed Unattach resize event when NewHomeView is destoryed 2016-05-13 15:46:37 -07:00
Rob
dbc6f6821f No ads for now. 2016-05-13 11:26:52 -07:00
Nick Winter
d079c29f51 Update locale interpolation format for non-English (see 747c5f29f7) like in #3613 2016-05-13 10:53:39 -07:00
Cat Sync
6e11b0dcda Definitely use hero if hero is present in the user code. 2016-05-13 13:37:36 -04:00
Cat Sync
59408c0de2 Merge remote-tracking branch 'codecombat/master' into flip-hero-logic 2016-05-13 13:32:46 -04:00
duybkict
b58fce5868 #3138: refactor PrepaidView 2016-05-13 18:18:17 +07:00
duybkict
61ea013caf #3138: refactor PrepaidRedeemModal 2016-05-13 18:14:17 +07:00