Commit graph

1522 commits

Author SHA1 Message Date
Nick Winter
ecfd982847 Note PayPal payment method. End limited-time year sale. 2015-11-30 10:50:34 -08:00
Scott Erickson
07ad8382cc Project sessions loaded in /courses 2015-11-29 16:17:55 -05:00
Nick Winter
e8665f7299 Merge branch 'master' into production 2015-11-29 12:33:16 -08:00
Nick Winter
95c703a7df Simulate games in background while playing levels if we think there's extra compute power 2015-11-29 12:30:19 -08:00
Scott Erickson
ea0c274a3c Fix /courses initial implementation 2015-11-29 15:26:17 -05:00
Nick Winter
c6bb6580ab Merge branch 'master' into production 2015-11-27 12:13:08 -08:00
Nick Winter
81af63a763 Support for calling reset account progress from scripts 2015-11-27 12:12:47 -08:00
Scott Erickson
d4540af780 Merge branch 'master' into courses-vhoc 2015-11-27 10:43:15 -05:00
Nick Winter
162a291925 Merge branch 'master' into production 2015-11-26 06:55:10 -08:00
Nick Winter
7a317370b5 Add a couple scripts for resetting user progress and migrating course sessions to hero levels 2015-11-26 06:54:23 -08:00
Matt Lott
c385aaa414 Merge branch 'master' into courses-vhoc 2015-11-25 16:11:36 -08:00
Nick Winter
7b88eb772a Merge branch 'master' into production 2015-11-24 13:54:14 -08:00
Nick Winter
67f14c7928 Try putting AI players in league ladders 2015-11-24 13:18:38 -08:00
Matt Lott
d7a66722b9 Update teacher surveys
Removing trial subscriptions
Updating trial page copy
Adding special HoC trial
Introducing a new course prepaid property endDate, which won’t be
returned or redeemed after the date.
2015-11-24 10:32:19 -08:00
Nick Winter
747856bd4c Merge branch 'master' into production 2015-11-24 08:56:36 -08:00
Nick Winter
ec7f17a149 Show level indexes in courses 2015-11-24 08:56:28 -08:00
Nick Winter
ebc081d105 Only fetch hero campaigns for overworld route 2015-11-23 12:38:51 -08:00
Nick Winter
3b1f21eff5 Merge branch 'master' into production 2015-11-22 08:02:51 -08:00
Nick Winter
e0011ee5d0 Classroom invite codes are now real words like BigFrogFarm 2015-11-22 07:47:28 -08:00
Scott Erickson
a98d0b1b2a Partial work on /courses view when signed in 2015-11-22 00:08:46 -08:00
Nick Winter
2dfaa1b7f3 Fix #3193: show completed levels again in campaign selector 2015-11-21 15:12:12 -08:00
Scott Erickson
27b21d0c4e Add classroom code handling to StudentSignUpModal 2015-11-20 18:02:02 -08:00
Matt Lott
0140361555 Merge branch 'master' into production 2015-11-20 13:19:07 -08:00
Scott Erickson
66b1e1b61d Fix /db/prepaid/<id>/redeemers when the creator is one of the redeemed, and prepaid tests in general 2015-11-20 13:17:33 -08:00
Matt Lott
f32316a7f7 Merge branch 'master' into production 2015-11-19 16:07:50 -08:00
Matt Lott
db5f0171c7 Make trial request created property editable 2015-11-19 16:07:02 -08:00
Matt Lott
2efc93a93f Merge branch 'master' into production 2015-11-19 15:23:55 -08:00
Matt Lott
804c62e13b Add created field to trial requests
Necessary for importing external trial requests.
2015-11-19 15:20:42 -08:00
Nick Winter
c867b1f5b4 Merge branch 'master' into production 2015-11-19 14:52:04 -08:00
Nick Winter
ef7618497f Fix #3184: get more of our campaign overworld properties we need 2015-11-19 13:20:42 -08:00
Nick Winter
04c6b27bed Merge branch 'master' into production 2015-11-19 10:41:37 -08:00
Nick Winter
c8ceca4d3d Add user.courseInstances, use it for course ladders 2015-11-19 10:41:31 -08:00
Scott Erickson
7a6c42b89f Set up course-ladder level handling
* LadderView displays course info, different style for course-ladder levels
* LadderView hides simulate tab for course-ladder levels
* HeroVictoryModal links to LadderView for course-ladder levels
* CourseDetails page links to LadderView for course-ladder levels
* Enable course instances for league simulation
2015-11-18 14:02:45 -08:00
Rob
c761e8de3b Merge branch 'master' into production 2015-11-17 16:24:33 -08:00
Matt Lott
4abace927a Add getPrepaidCodes API null check
https://app.asana.com/0/53713686567836/63657760462910
2015-11-17 16:21:08 -08:00
Scott Erickson
6a54c7cf54 Add classroom name, description, and language editing, and classroom language infrastructure 2015-11-17 16:10:23 -08:00
Nick Winter
08c7ad71a5 Merge branch 'master' of https://github.com/codecombat/codecombat 2015-11-17 15:26:51 -08:00
Nick Winter
f96a0a018c Track ladderAchievementDifficulty in multiplayer human level sessions 2015-11-17 15:23:35 -08:00
Rob
7a377350e8 Tabs -> Spaces 2015-11-17 15:19:17 -08:00
Rob
32861b025a Support sending performance information to stats. 2015-11-17 14:57:12 -08:00
Rob
7a86f754df Add flavor to overworld. 2015-11-17 11:27:08 -08:00
Rob
7f3426cc09 adjacentCampaigns should be an object not an array. 2015-11-17 11:22:55 -08:00
Rob
991fead0f6 Create specific campaign view for campaign selection screen. 2015-11-17 11:15:56 -08:00
Nick Winter
d65fd3d954 Merge branch 'master' into production 2015-11-15 08:23:23 -08:00
Nick Winter
8838095a0c Add a (very high) limit to the UserCodeProblem aggregation 2015-11-14 17:07:55 -08:00
Nick Winter
82da5b50bc Remove one unneeded LevelSession index (there are likely more) 2015-11-14 17:00:54 -08:00
Nick Winter
34819f2d04 Add index for /db/level.session/-/recent 2015-11-14 16:47:55 -08:00
Nick Winter
9624885fe2 Aggregating UserCodeProblems by level with an index instead of aggregating all ever 2015-11-14 16:34:35 -08:00
Nick Winter
b31e5fc93a Fix user.code.problem routes to use . instead of _ 2015-11-14 16:32:21 -08:00
Matt Lott
ea3d241903 Merge branch 'master' into production 2015-11-13 13:29:19 -08:00
Rob
6ecd54baa5 Use grep to find other mismapped routes. 2015-11-13 15:13:47 -05:00
Matt Lott
2fd8334398 Merge branch 'master' into production 2015-11-13 12:01:43 -08:00
Rob
24f352fb72 Fix route mappings for trail requests. 2015-11-13 14:57:15 -05:00
Matt Lott
5ad9edb3d5 Merge branch 'master' into production 2015-11-13 11:24:12 -08:00
Rob
631cc7766d Fix analytics mapping. 2015-11-13 14:11:07 -05:00
Matt Lott
c953fd32d8 Merge branch 'master' into production 2015-11-13 10:31:40 -08:00
Matt Lott
9189adcff0 Update teacher surveys
Gives 2 course headcount too.
2015-11-12 16:36:31 -08:00
Nick Winter
9ab2ccd905 Merge branch 'master' into production 2015-11-12 15:36:26 -08:00
Nick Winter
9e61928080 Add reset progress feature in account settings 2015-11-12 15:27:28 -08:00
Rob
62cd00e328 Merge branch 'handler-restructure' 2015-11-12 17:34:03 -05:00
Matt Lott
e6e0617945 Tracking property for admin added course headcount 2015-11-12 12:16:40 -08:00
Rob
836a01d1a8 Pull out schema fetching, as some times we fetch schemas when we don't actually have a handler for the type. 2015-11-12 15:01:33 -05:00
Rob
234d1b5950 Bind express /db roots one at a time.
Don't forget about the module root!

Route maps better.
2015-11-12 14:43:50 -05:00
Nick Winter
a262dc781d Merge branch 'master' into production 2015-11-12 11:01:10 -08:00
Nick Winter
910dd8e6b6 Use course access control for shared course hero levels 2015-11-12 11:00:54 -08:00
Nick Winter
44fb30b81e Merge branch 'master' into production 2015-11-12 10:25:51 -08:00
Nick Winter
fe05e66458 Give Campaigns types so that course campaigns can share hero levels 2015-11-12 10:25:25 -08:00
Nick Winter
29892a9619 Add user country to contact messages
https://app.asana.com/0/54275583589675/64698696631078/f
2015-11-11 15:43:25 -08:00
Nick Winter
6bf61dab39 Merge branch 'master' into production 2015-11-11 05:53:17 -08:00
Scott Erickson
30e05f3720 Restrict prepaids
* For GET prepaids, ignore prepaids made before today
* For POST prepaid redeemer, do not allow redeeming users made before today
* For POST prepaid redeemer, disable db query for being a member of a different prepaid (not relevant since no one had paid before)
* For POST prepaid redeemer, only allow for prepaids of type course
2015-11-10 16:32:31 -08:00
Scott Erickson
5c5db0e546 Remove named plugin from classroom
Since we're sourcing from course instances which did not have such a limitation
2015-11-10 16:08:18 -08:00
Scott Erickson
cddf000276 Add way for admins to grant users course prepaids 2015-11-10 14:33:27 -08:00
Scott Erickson
4561ff42ce Update prepaid course price 2015-11-10 11:37:21 -08:00
Scott Erickson
b63daf5a18 Guard against prepaid maxRedeemer properties being strings 2015-11-10 11:27:46 -08:00
Scott Erickson
0c5b39e029 Merge branch 'master' into course-correction
Some package scripts got in the way of each other
2015-11-09 18:18:02 -08:00
Scott Erickson
97cb5275c3 Fixes for courses, hoc
* Handling prepaids with strings for maxRedeemers
* Add link to TeacherCoursesView from HourOfCodeView
* Show only course instances with classrooms attached in TeacherCoursesView and StudentCoursesView
* Add event tracking to HourOfCodeView
* Add not-logged-in handling to TeacherCoursesView
* Fixed a GET prepaids bug
* Have course instances created for hour of code have hourOfCode property set to true.
2015-11-09 17:58:40 -08:00
Scott Erickson
c8a47818c2 Initial setup of the hoc page 2015-11-09 16:45:12 -08:00
Scott Erickson
f7a41dc91a When a student joins a classroom, they also join all course instances for that classroom which are free to join 2015-11-09 13:29:49 -08:00
Matt Lott
f2f307f3ad Merge branch 'master' into production 2015-11-09 09:30:03 -08:00
Matt Lott
95b61c2f83 Add recurring revenue to admin analytics page
https://app.asana.com/0/54276215890539/59638739614287
2015-11-08 17:00:24 -08:00
Nick Winter
c4f0b4ade8 Merge branch 'master' into production 2015-11-06 16:57:37 -08:00
Matt Lott
7861faaf93 Add active classes to admin analytics page
https://app.asana.com/0/54276215890539/59638739614287
2015-11-06 14:11:39 -08:00
Nick Winter
ec38e5fc71 Merge branch 'master' into production 2015-11-06 13:00:33 -08:00
Scott Erickson
66b7bba09b Add GET /db/prepaid?creator=:id 2015-11-05 15:29:22 -08:00
Scott Erickson
b7843b59c8 Remove courses from purchasing course prepaids 2015-11-05 14:20:24 -08:00
Scott Erickson
6b5e13501e Allow classroom members to add themselves to course instances
This is so that the client will be able to add themselves to the
intro to computer science course, so that students joining classes will
have a course to enter.
2015-11-05 13:27:26 -08:00
Scott Erickson
f57cf3a83d Make POST /db/classroom/:id/members use update to avoid race conditions 2015-11-05 13:07:36 -08:00
Scott Erickson
6de6479f3b Add GET /db/classroom by member and GET /db/classroom/:id/members 2015-11-05 12:55:51 -08:00
Scott Erickson
9577236263 Add GET /db/course_instance list by owner and by member 2015-11-05 12:55:09 -08:00
Scott Erickson
4b71447877 Have POST /db/prepaid/:id/redeemers set user.coursePrepaidID property 2015-11-05 12:53:25 -08:00
Rob
fcf0bc85fe Don't allow loading users sessions for non premium dashboards.
Hoist memberLimit variable
Don't sort member's on the server side, let the client handle it
Use mongo limits instead of breaking server side.
2015-11-04 17:01:05 -08:00
Scott Erickson
00ce821939 Add InviteToClassroomModal, begin join class in StudentCoursesView 2015-11-04 16:54:13 -08:00
Rob
75532e3a79 Use generated member count instead of pulling a list of all members from mongo when we get the public clans list. 2015-11-04 16:00:54 -08:00
Scott Erickson
222b0b28e1 Adjust POST /db/classroom/:id/members to not need an actual id
Since students need to be able to join with just the code.
2015-11-04 15:33:19 -08:00
Nick Winter
6cd846a39c Merge branch 'master' into production 2015-11-04 14:04:30 -08:00
Nick Winter
34715befcc Increment user's concept stats on level completion 2015-11-04 13:42:09 -08:00
Scott Erickson
9a2bfee5a7 Add GET /db/classrooms?ownerID=:id to server endpoints 2015-11-04 12:41:13 -08:00
Matt Lott
d445024cb6 Add admin analytics page with MAUs
Includes updating analytics insert script used to inject aggregated
data into production database.
2015-11-04 10:59:10 -08:00
Scott Erickson
aafdce6fbe Add POST /db/classroom/:id/invite-members 2015-11-03 14:46:13 -08:00
Scott Erickson
0e2305bc3d Add POST /db/course_instance/:id/members 2015-11-03 14:00:51 -08:00
Scott Erickson
429f50e1c6 Untie CourseInstance creation from prepaids, tie them to classrooms instead 2015-11-03 11:18:44 -08:00
Nick Winter
c6bb5b5329 Improve indexing for /editor/level and editor/thang 2015-11-03 09:32:59 -08:00
Scott Erickson
27d423a410 Add Classroom server model and endpoints 2015-11-02 17:07:23 -08:00
Nick Winter
7d14758854 Merge branch 'master' into production 2015-11-02 16:16:01 -08:00
Scott Erickson
513c7e7a07 Add POST /db/prepaid/:id/redeemers 2015-11-02 15:23:08 -08:00
Scott Erickson
7a237d27c2 Add redeemers.userID index to prepaids collection 2015-11-02 13:35:47 -08:00
Scott Erickson
c3735ba0eb Add exhausted property to prepaid model
It is true when redeemers.length >= maxRedeemers
2015-11-02 13:06:58 -08:00
Nick Winter
caab006c5e Merge pull request #3149 from dillonforrest/master
Change visible references of 'HipChat' to 'Slack'.
2015-11-02 10:32:48 -08:00
Scott Erickson
fa4355f946 Add programming language to options in course instances 2015-10-30 15:56:43 -07:00
dillon
b5d92d5c26 Change 'Slack' back to 'HipChat' in multicore and server. 2015-10-30 15:26:18 -07:00
Nick Winter
da9567f85f Add Wakka Maul to simulation rotation 2015-10-30 09:45:07 -07:00
Nick Winter
acdfe7c1c4 Use level instead of levelID for getHistogramData to hit the index we already have 2015-10-30 09:25:58 -07:00
dillon
493d302a0d Change visible references of 'HipChat' to 'Slack'. 2015-10-30 00:07:58 -07:00
Matt Lott
8b254164c9 Free course enrollment for admins 2015-10-29 14:09:19 -07:00
Nick Winter
6f3bd848a9 Do user level sessions sort post-fetch\n\nOtherwise it would blow Mongo's sort memory limits if done during the query on large sessions fetches like on my user page, and we don't need to sort then anyway 'cause we're grabbing all the sessions. 2015-10-29 05:44:54 -07:00
Scott Erickson
9e04d425cc Levels link in ControlBarView goes to last visited course instance page for course levels 2015-10-27 17:04:07 -07:00
Nick Winter
77bdec5112 Merge branch 'master' into production 2015-10-26 13:32:19 -07:00
Nick Winter
110ee58b71 Fix 3126: campaigns not respecting i18n-coverage query 2015-10-22 06:42:42 -07:00
Nick Winter
f9fb6eaf90 Merge branch 'master' into production 2015-10-15 08:45:07 -07:00
Nick Winter
e15b30893f Note tournament end, undo tournament simulation bias 2015-10-15 06:32:52 -07:00
Scott Erickson
cbf6032c68 Merge branch 'origin/spritesheets' 2015-10-14 15:03:34 -07:00
Nick Winter
d814ea9e22 Remove erroneous 256 from user handler 2015-10-14 06:02:00 -07:00
Scott Erickson
39bddb889e Have LayerAdapter use prerendered spritesheets (unfinished) 2015-10-13 16:43:56 -07:00
Nick Winter
0f67ed84cc Merge branch 'master' into production 2015-10-13 08:36:06 -07:00
Nick Winter
d776809e1c Update Hour of Code student flow and tracking, remove signup requirement 2015-10-13 08:12:07 -07:00
Matt Lott
4a85290af8 Merge branch 'master' into production 2015-10-12 21:14:09 -07:00
Scott Erickson
66650452b2 Merge remote-tracking branch 'origin/master' 2015-10-12 16:47:59 -07:00
Scott Erickson
919e0605e9 Add spriteSheets to ThangType, export modal to Thang Editor
Units can be exported as rastered sprite sheets. This is the first part of the project,
the second part will be having the game use them.
2015-10-12 16:47:48 -07:00
Matt Lott
4c763a86ce Merge branch 'master' into production 2015-10-09 14:26:54 -07:00
Matt Lott
2d8d107a58 Update Handler admin get query params
Unclear how this was supposed to work before these changes.
2015-10-09 14:26:04 -07:00
Nick Winter
b51a933a11 Merge branch 'master' into production 2015-10-09 08:05:51 -07:00
Nick Winter
5dde55c1f3 Add premium server recognition for Brazil 2015-10-09 08:05:34 -07:00
Matt Lott
bb3d9fa05a Merge branch 'master' into production 2015-10-08 09:44:14 -07:00
Matt Lott
1c1a5d4295 /courses student mode when _ppc present 2015-10-08 06:10:12 -07:00
Matt Lott
ce4afe187a Update course invite email subject and body with course name 2015-10-07 17:24:28 -07:00
Matt Lott
3eb450631a 🐛Restrict course level progress to course levels 2015-10-07 16:58:59 -07:00
Matt Lott
d95cbc0627 Course instance redeem API returns 200 for double redeem
If a user has already redeemed course prepaid code, return 200 and the
related course instances.  Simplifies client-side experience.
2015-10-07 15:14:26 -07:00
Matt Lott
32441f1c8d Only generate lowercase prepaid codes
Will be easier to make them case-insensitive later if needed.
2015-10-07 14:06:09 -07:00
Matt Lott
0689e487dd Merge branch 'master' into production 2015-10-06 13:15:24 -07:00
Matt Lott
75b9cb50d9 Add /courses prepaid code query var
Update invite students link to go to /courses
2015-10-06 12:30:22 -07:00
Cat Sync
d09711be37 Added test for parallel subscription redeems, more informative redeem error messages, more robust prepaid update when redeeming 2015-10-06 15:23:47 -04:00
Matt Lott
9c7345fed0 Redeem course prepaid code on /courses page
Completes #54270566052118
2015-10-06 11:20:57 -07:00
Scott Erickson
ff69bb8c89 Add course level session creation permission checking to level_handler 2015-10-06 11:08:03 -07:00
Scott Erickson
3a90356f59 Add class invite system 2015-10-05 16:01:32 -07:00
Nick Winter
d0373e9823 Merge branch 'master' into production 2015-10-05 15:32:35 -07:00
Matt Lott
5095eac4ac Purchase prepaid on course instance creation
Updating purchase prepaid API to support courses.
Refactoring the prepaid server code.

Completes #54270567235517
2015-10-01 15:23:20 -07:00
Cat Sync
d4b9860c33 Send hipchat message for prepaid purchase 2015-09-30 15:13:33 -04:00
Matt Lott
e37c5645ef Merge branch 'master' into production 2015-09-25 15:23:56 -07:00
Matt Lott
c6caafb7cd Remove extra Stripe call in sub prepaid redeem 2015-09-25 14:06:51 -07:00
Matt Lott
928f72e2cf Merge branch 'prepaid-v2' into master 2015-09-25 10:28:27 -07:00