Commit graph

283 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
61be34a0f4 Sort courses in teacher ux
Closes #3870
2016-08-22 11:18:26 -07:00
Robin Yang
611368f742 Add Resource Hub to teacher dashboard 2016-08-19 17:41:06 -07:00
Scott Erickson
aeddfe77d6 Add project/arena pills to course progress tab to TeacherClassView
Also remove templating for deprecated progress tab
2016-08-19 15:48:45 -07:00
Nick Winter
2f220eb007 Fix #3843 2016-08-18 14:39:14 -07:00
Scott Erickson
d4af931e05 Add course (name, description) translations 2016-08-18 10:10:18 -07:00
Matt Lott
b647252956 Update /courses UI 2016-08-17 14:15:52 -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
a7e290fffe Replace course guide PDFs with solutions pages 2016-08-11 15:29:56 -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
Matt Lott
ba6d51659c Show in-game programming language
Closes #3814
2016-08-03 11:08:20 -07:00
phoenixeliot
a47bdc084a Allow admins to become teachers 2016-07-28 15:28:31 -07:00
Nick Winter
d77625bc77 Game dev levels (#3810)
* Tweak API doc behavior and styling

* Instead of moving to the left during active dialogues, just move to the top
* Allow pointer events
* Adjust close button
* Re-enable pinning API docs for game-dev and web-dev levels

* Make sidebar in PlayGameDevLevelView stretch, better layout columns

* Set up content of PlayGameDevLevelView sidebar to scroll

* Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like

* Finish PlayGameDevLevelView

* Add share area below
* Cover the brown background, paint it gray

* Tweak PlayGameDevLevelView

* Have progress bar show everything
* Fix Surface resize handling

* Fix PlayGameDevLevelView resizing incorrectly when playing

* Add GameDevVictoryModal to PlayGameDevLevelView

* Don't show missing-doctype annotation in Ace

* Hook up GameDevVictoryModal copy button

* Fix onChangeAnnotation runtime error

* Fix onLevelLoaded runtime error

* Have CourseVictoryModal link to /courses when course is done

* Trim, update CourseDetailsView

* Remove last vestiges of teacherMode
* Remove giant navigation buttons at top
* Quick switch to flat style

* Add analytics for game-dev

* Update Analytics events for gamedev

* Prefix event names with context
* Send to Mixpanel
* Include more properties

* Mostly set up indefinite play and autocast for game-dev levels

* Set up cast buttons and shortcut for game-dev

* Add rudimentary instructions when students play game-dev levels

* Couple tweaks

* fix a bit of code that expects frames to always stick around
* have PlayGameDevLevelView render a couple frames on load

* API Docs use 'game' instead of 'hero'

* Move tags to head without combining

* Add HTML comment-start string

Fixes missing entry point arrows

* Fix some whitespace
2016-07-28 13:39:58 -07:00
Rob
75e3c54d54 Add concept map view to artisans. 2016-07-27 13:44:55 -07:00
Scott Erickson
1064d64172 Update FB API to v2.7
We were on v2.0, which is being deprecated on August 8th
2016-07-25 13:56:05 -07:00
phoenixeliot
b1277dc95f Merge branch 'game-dev-levels' 2016-07-21 10:14:22 -07:00
Matt Lott
72905c7ff2 Reduce Mixpanel event tracking
Turning off homepage events and play pageviews.
2016-07-20 14:45:13 -07:00
phoenixeliot
58284dff33 Turn on Ace HTML worker for syntax errors 2016-07-19 11:30:02 -07:00
Matt Lott
607c129c7f School active licenses admin page 2016-07-18 09:41:42 -07:00
Nick Winter
224ad54bdd View web dev levels. Add proper victory modal game/webpage share links. Fix playing game dev levels. Add generic change transition to all web-dev pages. 2016-07-15 20:03:12 -07:00
Nick Winter
16b10612b6 Stub WebSurface showing for web-dev levels 2016-07-14 12:34:22 -07:00
Nick Winter
c5c831c211 Remove real-time multiplayer prototype code 2016-07-14 10:26:09 -07:00
Nick Winter
349ab24da7 First pass at adding 'web-dev' level type 2016-07-14 09:38:45 -07:00
Scott Erickson
25e348c5ad Initial, basically working PlayGameDevLevelView 2016-07-12 14:07:10 -07:00
Scott Erickson
5b0b5e4169 Tweak ModuleLoader handling of index files, fix #3783 2016-07-08 13:13:28 -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
Matt Lott
ba54754373 Admin classroom levels page 2016-06-30 08:29:27 -07:00
Rob
7260690b51 Remove one level of indent for coffee-lint. 2016-06-29 12:50:23 -07:00
Matt Lott
d6951559fd Update school counts page
Exclude HoC users via course instances
Include teacher/students via trial requests without NCES data
2016-06-28 16:41:36 -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
Nick Winter
1a31692775 Automatically translate false->False, null->None, etc. in docs for Python 2016-06-24 09:36:18 -07:00
Matt Lott
df90935aba Admin school counts page 2016-06-21 09:33:06 -07:00
Scott Erickson
de138c2581 Disable ModuleLoader debug logs because they get in the way 2016-06-15 16:09:24 -07:00
phoenixeliot
e841334c86 Fix join class modal (temporary hack) 2016-06-15 13:28:03 -07:00
Rob
3a9f0adba8 Switch to using actual node server to receive log events 2016-06-09 17:00:35 -07:00
Matt Lott
9dbcf27e11 Add classroom Mixpanel logging
Closes #3720
2016-06-09 10:46:26 -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
Rob
c08d426c6b Use cloudflare for analytics so we get the correct SSL cert. 2016-05-31 19:56:37 -07:00
Scott Erickson
d36908f8c1 Grant admins access to teacher and student only pages 2016-05-31 15:09:26 -07:00
Nick Winter
5ff1c4b700 Fix #3427: allow language-specific images in Markdown articles 2016-05-31 10:48:23 -07:00
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
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
8fce97aad3 Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -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