Commit graph

296 commits

Author SHA1 Message Date
Nick Winter
91cb621f96 Don't load Stripe Checkout for anonymous users (saves 30 requests and a warning message) 2016-09-16 11:04:31 -07:00
Scott Erickson
a2e8badb6f Fix tests when running them as a user who has earned something 2016-09-12 10:57:17 -07:00
Matt Lott
346c29361b Redirect students away from /teachers and vice versa
Closes #3910
2016-09-12 06:28:42 -07:00
Matt Lott
ed8e36f5cd Put student pages under /students
Closes #3909
2016-09-12 06:20:59 -07:00
Scott Erickson
7bab895dee Generalize new I18N view system
Previously, when diplomats submit translations, the system
would try to figure out whether it should be a 'patch' or a 'change',
and then would either create a patch for an admin or artisan to
review and accept or reject, or would apply the changes immediately
and they would be live. This was done as a compromise between
getting translations live quickly, but also preventing already-translated
text from getting overwritten without oversight.

But having the client handle this added logical complexity. So
this makes all diplomats submit patches, no matter what. The server
is then in charge of deciding if it should auto-accept the patch or not.
Either way, a patch is created.

There was also much refactoring. This commit includes:

* Update jsondiffpatch so changes within array items are handled correctly
* Refactor posting patches to use the new auto-accepting logic, and out of Patch model
* Refactor POST /db/patch/:handle/status so that it doesn't rely on handlers
* Refactor patch stat handling to ensure auto-accepted patches are counted
* Refactor User.incrementStat to use mongodb update commands, to avoid race conditions
* Refactor Patch tests
2016-09-09 10:59:26 -07:00
Scott Erickson
9088f98eae Add function to properties that trigger achievement updates 2016-09-06 10:32:54 -07:00
Scott Erickson
2fe28852b4 More achievement tweaks
* Clients check updated achievements as well as new ones
* Clients do not wait to keep checking
* Update achievement points along with everything else in EarnedAchievement.upsertFor
* Fix various bugs
2016-09-06 09:37:02 -07:00
Matt Lott
99a148a136 bug:Fix /courses using outdated level slugs
Closes #3901
2016-09-02 11:50:14 -07:00
Scott Erickson
f3254f1061 Change NewHomeView to HomeView 2016-09-01 10:41:43 -07:00
Scott Erickson
77e45072a5 Remove justPlayCourses heuristic, replace with isStudent, remove old HomeView 2016-09-01 10:41:43 -07:00
Phoenix Eliot
663c220eaf Show wev-dev iFrame error messages like Aether's
This heavily refactors SpellView and adds infrastructure for receiving and reporting Errors raised by the web-dev iFrame. The web-dev error system, the Aether error system, and the Ace html-worker avoid disturbing each others' errors/annotations (though currently Aether+web-dev errors won't coexist), and they clear/update their own asynchronously.

Show web-dev iFrame errors as Ace annotations

Add functional error banners (with poor messages)

Improve error banners, don't allow duplicate Problems

Refactor setAnnotations override

Convert all constructor calls for Problems

Add comments, clean up

Clean up

Don't clear things unnecessarily

Clean up error message sending from iFrame

Add web-dev:error schema

Clarify error message attributes

Refactor displaying AetherProblems

Refactor displaying user problem banners

Refactor onWebDevError

Set ace styles on updating @problems

Clean up, fix off-by-1 error

Add comment

Show stale web-dev errors differently
Some web-dev errors are generated by "stale" code — code that's still running in the iFrame but doesn't have the player's recent changes.
This shows those errors differently than if they weren't "stale", and suggests they re-run their code.

Hook up web-dev event schema

Destroy ignored duplicate problems

Functionalize a bit of stuff

Fix ProblemAlertView never loading
2016-08-31 10:59:06 -07:00
Scott Erickson
cf9d082ffa Have client check for achievement updates 2016-08-29 16:32:42 -07:00
Josh Callebaut
53e68a79a6 Add a page for tracking intro/guide issues 2016-08-25 15:31:24 -07:00
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