Commit graph

1725 commits

Author SHA1 Message Date
Nick Winter
2dc7800b37 Fix getting classrooms by CamelCase codes 2015-12-01 14:12:56 -08:00
Nick Winter
ae6eca583a Present 'Play Classroom Version' before playing a campaign level when appropriate 2015-12-01 11:24:16 -08:00
Nick Winter
c44dccd59b Merge branch 'master' into production 2015-12-01 06:05:50 -08:00
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
Nick Winter
b06b7b779c Merge branch 'master' into production 2015-09-21 12:41:24 -07:00
Nick Winter
b4f500333f Assign pt-BR or zh-HANS for those domains 2015-09-18 08:38:12 -07:00
Nicholas Winter
32909aff69 Merge branch 'master' into production 2015-09-15 16:50:51 -07:00
Nicholas Winter
bce3b94a85 Fix #2970: Turn admin off by default on localhost 2015-09-14 09:39:48 -07:00
Matt Lott
b68e5e209b Update course details page 2015-09-12 22:02:03 -07:00
Nicholas Winter
3cba4b23eb Merge branch 'master' into production 2015-09-12 06:55:30 -07:00
Nicholas Winter
3eeb9a6a26 Reset some stuff for Ace of Coders and Robot Ragnarok. Put multiplayer link back now that we have two good mirror match levels and aren't listing the old arenas. 2015-09-12 06:54:14 -07:00
Nick Winter
8f22ede9ad Merge branch 'master' into production 2015-09-09 21:55:04 -07:00
Nick Winter
4d68080c4c Bumped up Ace of Coders simulations for the tournament. 2015-09-09 21:54:22 -07:00
Nick Winter
dd66018ece Merge branch 'master' into production 2015-09-09 08:59:48 -07:00
Nick Winter
b13504eeb5 Watching out for finding a null session when getting two games. 2015-09-09 08:59:33 -07:00
Nick Winter
588fe0e134 Merge branch 'master' into production 2015-09-08 12:18:13 -07:00
Nick Winter
b1fd171a27 Opening up the ladder tab view by hiding the FB/G+ ladder column for now. Adding submitted dates to the leaderboards. 2015-09-08 06:44:26 -07:00
Nick Winter
0d2d1ddad0 A couple mirror match ladder tweaks. Made programmableMethods other code languages use proper code formatting. 2015-09-07 18:00:48 -07:00
Nick Winter
4b387602ac Merge branch 'master' into production 2015-09-03 15:48:05 -07:00
Nick Winter
98b0bcfc75 Fixed playback victory message for spectate mode. Spectate mode now opens in new tabs. 2015-09-03 15:05:10 -07:00
Matt Lott
58880b23af Add description to tower payment messages 2015-09-03 13:35:24 -07:00
Matt Lott
9131d8668f Course enroll page
Will add a prepaid purchase once the prepaid-v2 branch is merged into
master.
2015-09-03 11:04:52 -07:00
Michael Schmatz
583d415796 Merge pull request #2986 from codecombat/master
Enable Sao Paulo servers
2015-09-02 13:39:52 -04:00
Michael Schmatz
be80b1e355 Add Sao Paulo database condition 2015-09-02 12:33:48 -04:00
Nick Winter
bf0422a9d6 Merge branch 'master' into production 2015-08-29 08:02:31 -07:00
Matt Lott
8de00767b3 Initial courses object model 2015-08-29 07:15:39 -07:00
Nick Winter
4ca476713e Merge branch 'master' into production 2015-08-28 10:45:19 -07:00
Nick Winter
d412a7d5ee Fixed blank duel stats bar in single player, oops. Handling getTwoGames from non-logged-in users. 2015-08-28 10:45:07 -07:00
Matt Lott
448f4fce88 Merge branch 'master' into production 2015-08-27 09:48:48 -07:00
Matt Lott
e10c5d9646 Allow year sub purchases on top of monthly subs
Monthly sub is cancelled, terminal sub of 1 year + remaining month is
added.
2015-08-27 09:45:10 -07:00
Matt Lott
5faeb82d17 Extend terminal sub with year sub purchase 2015-08-27 09:45:10 -07:00
Matt Lott
264767e9e8 Add HipChat msg for Stripe payments 2015-08-26 15:37:58 -07:00
Matt Lott
761402b117 Add hipchat msg for year sub sale 2015-08-26 15:31:22 -07:00
Matt Lott
1c53b1b9df Merge branch 'master' into production 2015-08-24 10:54:38 -07:00
Matt Lott
9c492a2d4b 🐛Increment gems for year sale purchase 2015-08-24 10:54:06 -07:00
Matt Lott
36e337495d Merge branch 'master' into production 2015-08-23 17:14:04 -07:00
Matt Lott
9e222d0873 Add subscription sale
Give a discount for purchasing a year
New sale button on subscribe modal
New subscription sale landing page
2015-08-21 11:19:39 -07:00
Nick Winter
86b076fde0 Merge branch 'master' into production 2015-08-21 03:28:35 -07:00
Nick Winter
256b19d331 More improvements and fixes for league ladder pages. 2015-08-21 03:28:25 -07:00
Nick Winter
8c3f4d92d2 Merge branch 'master' into production 2015-08-20 15:21:52 -07:00
Nick Winter
96b838da03 Fixed league-based simulation randomness. 2015-08-20 05:54:10 -07:00
Nick Winter
f34dd7c70e Merge branch 'master' into production 2015-08-19 15:35:30 -07:00
Nick Winter
da0b7d3e64 Merge pull request #2955 from codecombat/leagues
Leagues!
2015-08-19 15:34:54 -07:00
Nick Winter
f4d796a717 More ladder page support for leagues. Linking to clan league pages from clans pages. 2015-08-19 15:30:37 -07:00
Nick Winter
d86aa747bc Merge branch 'master' into production 2015-08-19 12:24:33 -07:00
Matt Lott
0fee075470 🐛Fix sponsored subscription error logging bug 2015-08-17 15:49:49 -07:00
Nick Winter
6f2b1b2a41 Added back an index we need on LevelSession, but in code this time instead of just from the shell as 'weird query index'. 2015-08-15 12:44:19 -07:00
Nick Winter
32ca453dec Added /play/ladder/levelID/clan/clanID clan-specific ladder pages. 2015-08-15 06:45:38 -07:00
Nick Winter
bda2483738 Added league-based ladder game simulation. 2015-08-15 05:38:47 -07:00
Nick Winter
f757f220be Refactored scoring.coffee into separate files per route plus a scoringUtils file, and cleaned up a few of the verbose methods. 2015-08-13 11:17:38 -07:00
Matt Lott
532c2a05e8 Merge branch 'master' into production 2015-08-13 11:13:55 -07:00
Matt Lott
05a9013164 Remove deprecated prepaid schema properties 2015-08-13 11:13:15 -07:00
Matt Lott
6fb5f270b3 Merge branch 'master' into production 2015-08-13 08:39:02 -07:00
Matt Lott
9c39bf7656 Update prepaids to support multiple redeemers for a single code
Will remove deprecated properties after updating production.
2015-08-12 15:51:18 -07:00
Nick Winter
b0cb3c8ab8 Merge branch 'master' into production 2015-08-12 11:55:39 -07:00
David Liu
7d64087e29 Fix the headless simulator
Shims `lscache`, support io.js < v3.0.0. Make simulating `one-game`
possible.

Tested on Linux with Node.js v0.10.40 and v0.12.7; as well as io.js
v2.5.0.

It still won't work with io.js v3.0.0 because `webworker-threads`
doesn't compile properly, so that's another problem.
2015-08-10 18:12:53 -07:00
Nick Winter
d101a427ba Merge branch 'master' into production 2015-08-08 12:26:33 -07:00
Nick Winter
cd0c252b14 Disabled some logging now that chinaVersion appears to be working. 2015-08-08 12:26:20 -07:00
Matt Lott
122fcc6e71 Merge branch 'master' into production 2015-07-31 16:20:28 -07:00
Matt Lott
0768b533e2 Subs dashboard perf
Caching older (at least 16 days) Stripe invoices in analytics
collection, which will be updated once a day via the analytics server
cron job.
2015-07-31 16:19:40 -07:00
Nick Winter
721ae833e9 Merge branch 'master' into production 2015-07-31 14:42:08 -07:00
Nick Winter
fc0a6513f3 Fixing some bugs in the geoip and language detection stuff. 2015-07-31 14:32:32 -07:00
Matt Lott
0e272b8d86 Merge branch 'master' into production 2015-07-30 16:07:32 -07:00
Matt Lott
822d25984f Merge pull request #2910 from trotod/fix-clan-details-style
Fix clan details style
2015-07-29 10:22:36 -07:00
Matt Lott
f89bb8ac0f Subs dashboard perf
Update sub sponsors API to use payments collection before users
collection to whittle down potential sponsors.
2015-07-28 09:11:55 -07:00
Nick Winter
d07b087c7b Merge branch 'master' into production 2015-07-27 11:35:35 -07:00
Nick Winter
e43addf55b Debugging chinaVersion inconsistencies. 2015-07-27 11:35:20 -07:00
David Liu
b5d7791e84 Custom hero portraits
Though missing the raider and necromancer from the spritesheet
2015-07-26 12:40:55 -07:00
Nick Winter
85db686e74 Merge branch 'master' into production 2015-07-24 17:38:39 -07:00
Nick Winter
899aae5798 Consolidated extra resources. 2015-07-10 14:20:25 -07:00
Matt Lott
1688000770 Merge branch 'master' into production 2015-07-09 13:52:54 -07:00
Matt Lott
7620ba00ad 🐛Remove stripe_invoices API caching 2015-07-09 13:28:55 -07:00
Matt Lott
c25c5e8f97 Improve sub_sponsors API perf 2015-07-09 13:16:57 -07:00
Matt Lott
591c891b18 Merge branch 'master' into production 2015-07-09 12:21:58 -07:00
Matt Lott
b6724b9d8d bug:Fix subscriptions API variable naming collision 2015-07-09 12:21:32 -07:00
Matt Lott
e5f451e906 Merge branch 'master' into production 2015-07-09 10:41:51 -07:00
Matt Lott
6831355649 🐛Fix subs dashboard monthly churn and perf
Use Stripe events API to calculate monthly churn.
Move Stripe API page handling to the client.
2015-07-08 17:34:34 -07:00
Nick Winter
40e1e6b2ac Merge branch 'master' into production 2015-06-30 11:28:11 -07:00
Nick Winter
b0c7b50761 Added programming concept tags to campaign and level editor. 2015-06-30 11:27:58 -07:00
Nick Winter
270340a79f Removed Learnable. 2015-06-24 09:18:13 -07:00
Matt Lott
35e9c60b8b Merge branch 'master' into production 2015-06-18 15:35:19 -07:00
Matt Lott
b12b7e8ca4 Add user deletion date
Fixes #2734
2015-06-18 15:17:56 -07:00
Matt Lott
72e458cc80 Unsubscribe deleted users
Fixes #2733
2015-06-18 15:02:19 -07:00
Matt Lott
d4d4d7bb25 🐛Fix sub handler error typo 2015-06-18 15:02:19 -07:00
Nick Winter
bc8e0945a1 Merge branch 'master' into production 2015-06-17 18:17:22 -07:00
Matt Lott
5c240d89cd Cancel recipient subscriptions immediately 2015-06-17 16:35:30 -07:00
Nick Winter
f7eaf91bae Hopefully making Systems editable by Artisans. 2015-06-14 12:49:45 -07:00
Matt Lott
251fcf05fd Merge branch 'master' into production 2015-06-05 15:12:36 -07:00
Matt Lott
32b10b33e4 Update gem charge statement descriptors
Shown on bank statements and credit bills.
2015-06-05 14:58:44 -07:00
Matt Lott
e46613bf7f Update trial request hipchat msg
Link to trial-requests approval page.
2015-06-05 11:27:53 -07:00
Matt Lott
b27a4539f1 Merge branch 'master' into production 2015-06-05 10:38:20 -07:00
Matt Lott
d7cddcb136 Teacher trial subscription form
Add a teacher survey form for applying for a free trial subscription
for evaluation purposes.
Add an admin trial requests review page, where admins can approve/deny
requests.
2015-06-05 06:48:19 -07:00
Imperadeiro98
a85e6fb695 Removed unnecessary full stop 2015-06-02 21:34:01 +01:00
Matt Lott
9828bd5d1d Sponsored sub cleanup on unsubscribe
Sponsored subscriptions can be partially set up when the incremental
subscription charge fails.  This cleans up the sponsored subscriptions
when one of the recipient subscriptions is cancelled.

Related to #2786
2015-05-28 16:56:13 -07:00
Nick Winter
5c70321741 Merge branch 'master' into production 2015-05-25 14:05:19 -07:00
Nick Winter
bb17621b47 Don't let the server die when a sponsored subscription's sponsor can't be found. 2015-05-25 14:03:07 -07:00
Nick Winter
28b44f9535 Merge branch 'master' into production 2015-05-25 09:58:39 -07:00
Nick Winter
bebe2dde21 Adding a log to check out what's going on with updating of sponsored subscriptions. 2015-05-25 09:58:25 -07:00
Matt Lott
26f4b97eeb Merge branch 'master' into production 2015-05-20 17:25:52 -07:00
Matt Lott
a8a55021b9 🐛Fix unpaid charges yield payments
Unpaid charges should not be recorded as successful payments in our
database.  Was happening when opening the buy gems modal again.
2015-05-19 11:41:11 -07:00
Nick Winter
f38bbb7d3d Merge branch 'master' into production 2015-05-19 10:56:22 -07:00
Nick Winter
6e8ff798a1 Fixed missing paren in c40b8b1e. 2015-05-19 10:56:12 -07:00
Nick Winter
ef9e647e94 Merge branch 'master' into production 2015-05-18 14:30:39 -07:00
Nick Winter
c40b8b1e5d Not sending patch created emails to Nick/George/Scott. 2015-05-17 12:17:53 -07:00
Matt Lott
08eff2b489 🐛Fix admin dashboard invoice sorting
Bug was introduced by recent perf work.
2015-05-13 16:25:28 -07:00
Matt Lott
627884a608 Merge branch 'master' into production 2015-05-12 15:25:34 -07:00
Matt Lott
50f340ffbe Update admin dashboard
Caching invoices again, but using a different method.
2015-05-12 10:09:08 -07:00
Nick Winter
b7d1ab2b01 Not sending HipChat messages for level load errors. Not sending level load errors for level editor loads. Not sending more than one level load error report per session. 2015-05-11 18:53:42 -07:00
Matt Lott
31fda7e22b Merge branch 'master' into production 2015-05-11 17:29:06 -07:00
Matt Lott
6dc51e27e4 🐛Admin dashboard deleted users
Also disabling invoice caching to see if that is what causes invalid
sub end counts.
2015-05-11 10:37:44 -07:00
Matt Lott
dae2acbd5d Merge branch 'master' into production 2015-05-09 10:24:58 -07:00
Matt Lott
dd35a1eb76 Include sponsored cancels in dashboard
Also includes free teacher sub cancels, which should be an
insignificant number.
2015-05-08 11:34:59 -07:00
Matt Lott
d96a69d602 Merge branch 'master' into production 2015-05-06 15:28:12 -07:00
Matt Lott
0353be4fc4 Add recent cancellations table to dashboard 2015-05-06 15:23:46 -07:00
Matt Lott
67ee4e99a7 Remove subscription API debugging code
This was being used to debug analytics event logging problems in
production.  Turned out to be a too many open files problem, unrelated
to this code.
2015-05-06 11:34:20 -07:00
Matt Lott
340713e721 Add subscription API debugging
Investigating elevated sub end counts in production over time from the
subscriptions API.
2015-05-06 11:34:20 -07:00
Matt Lott
2edacb8cbc Merge branch 'master' into production 2015-05-05 20:34:07 -07:00
Matt Lott
a652b70728 Update admin dashboard conversion types 2015-05-04 17:38:34 -07:00
Matt Lott
1f7178bac7 Update analytics log collection index
Indexes already updated on live analytics database.
2015-05-02 18:28:47 -07:00
Matt Lott
1e0363b0c5 Merge branch 'master' into production 2015-05-01 16:09:32 -07:00
Matt Lott
afc3689dcc Optimize recent subs api 2015-05-01 16:08:12 -07:00
Matt Lott
db911a04b7 Merge branch 'master' into production 2015-05-01 11:08:48 -07:00
Matt Lott
1ac249565a Add debug logging to recent subs API
Unclear why this isn’t working in production.
2015-05-01 11:08:17 -07:00
Matt Lott
d4aa27f172 Merge branch 'master' into production 2015-05-01 09:57:18 -07:00
Matt Lott
5305d80887 Add conversion info to admin dashboard 2015-05-01 09:37:47 -07:00
Nick Winter
d2cb4528e5 Merge branch 'master' into production 2015-04-30 13:37:18 -07:00
Nick Winter
35726bf41c Trying to handle when earned achievements aren't created via POST. 2015-04-30 09:06:41 -07:00
Matt Lott
d016f7d791 Merge branch 'master' into production 2015-04-28 10:32:50 -07:00
Nick Winter
a4964ea36e Reduced transactional email sends a bit. 2015-04-27 15:06:26 -07:00
Nick Winter
9d0d07df06 Merge branch 'master' into production 2015-04-25 17:38:16 -07:00
Nick Winter
80af32180c Fixed #1638: detect and automatically report unrecoverable world loading errors, plus adding better instructions for checking dev console. We can't recover yet, but having eyes on it will hopefully give us better visibility on this kind of error. 2015-04-25 17:29:02 -07:00
Matt Lott
f41b0bd4dd Sort clan members list alphabetically 2015-04-24 14:22:00 -07:00
Matt Lott
8d6819e970 Merge branch 'master' into production 2015-04-23 18:07:48 -07:00
Matt Lott
1e688f1d61 Clan details view solution
Click on a level progression cell to observe the level session in a new
tab.
2015-04-23 14:31:21 -07:00
Matt Lott
59de47069a Add sponsored subs to admin dashboard 2015-04-23 13:34:43 -07:00
Matt Lott
2945bd7e3a Merge branch 'master' into production 2015-04-21 16:09:14 -07:00
Matt Lott
502a47e912 Admin dashboard perf
Find subscription cancellations via events API instead of walking each
customer and their subscriptions.
2015-04-21 15:58:45 -07:00
Matt Lott
559b9533c4 🐛Fix clan name and description editing
#Fixes 2693
2015-04-21 14:12:01 -07:00
Matt Lott
065b91a678 Merge branch 'master' into production 2015-04-21 11:44:42 -07:00
Matt Lott
4515c8f765 🐛Add user getClans undefined check 2015-04-21 11:22:17 -07:00
Matt Lott
0b10954018 🐛Fix clans details member levels 2015-04-21 10:08:51 -07:00
Matt Lott
a1afabe6a7 Merge branch 'master' into production 2015-04-21 09:20:16 -07:00
Matt Lott
474986f3cb Admin dashboard perf work
Cache invoices on app server, assume they are always fetched most
recent to least.
2015-04-20 17:10:41 -07:00
Matt Lott
c9a7f6773d Speed up clan details page
Only fetch level sessions and achievements for 200 members.
Display members with more data first.
Show average clan achievements instead of total achievements.
General css cleanup.
2015-04-20 16:20:52 -07:00
Matt Lott
a6fbaba469 Update clan query selectors 2015-04-20 15:18:05 -07:00
Matt Lott
c900310c8e Merge branch 'clans' 2015-04-20 14:42:48 -07:00
Matt Lott
f80a73ae9b Decouple clan type from dashboard details
Adding dashboardType field, private clans automatically set this to
‘premium’.
2015-04-20 14:04:22 -07:00
Nick Winter
c8c11df64e Merge branch 'master' into production 2015-04-20 11:20:58 -07:00
Nick Winter
cea5798b10 Fixed Clans DatabaseError without error giving the server heart attacks. 2015-04-20 09:09:42 -07:00
Nick Winter
f58d51d4a9 Fixed anonymous requests to get simulator leaderboards to not assume that you have a user. 2015-04-19 14:52:10 -07:00
Nick Winter
dc90481a5c Fixed #2458, I think. 2015-04-18 19:57:37 -07:00
Matt Lott
45c070209b Update private clans dashboard 2015-04-16 15:26:14 -07:00
Nick Winter
41ed231940 Merge branch 'master' into production 2015-04-16 08:03:30 -07:00
Nick Winter
4de9071f1a Added a projection to Clans getMemberSessions to help with the gargantuan fetch running us out of memory. 2015-04-16 08:03:19 -07:00
Matt Lott
2b29e755fe Make clan name and description editable 2015-04-15 11:09:43 -07:00
Nick Winter
9cbea647bf Merge branch 'master' into production 2015-04-13 17:08:25 -07:00
Nick Winter
8649383a8c Fixed #2416: LadderTabView now shows hero portraits. 2015-04-13 16:17:22 -07:00
Nick Winter
a39d1c4020 Merge branch 'master' into production 2015-04-12 21:57:59 -07:00
Nick Winter
e6cef389cd Simplified some of scoring.coffee and dramatically reduced the amount of database work recordTwoGames is doing. 2015-04-12 21:57:47 -07:00
Nick Winter
d56a1660a9 Merge branch 'master' into production 2015-04-12 17:29:02 -07:00
Nick Winter
c40123f656 Removed a log. 2015-04-12 17:26:39 -07:00
Nick Winter
186545bf09 Merge branch 'master' into production 2015-04-12 11:34:28 -07:00
Nick Winter
eb075b99a0 Fixed #2448 with better random session query distribution. 2015-04-12 11:34:19 -07:00
Nick Winter
9443a37515 Merge branch 'master' into production 2015-04-12 10:49:39 -07:00
Matt Lott
4669d4cb0a Update admin subs dashboard
Break up lengthy server calls to reduce timeouts in production.
2015-04-11 10:36:03 -07:00
Nick Winter
ebf87e5a12 Merge branch 'master' into production 2015-04-10 18:07:47 -07:00
Nick Winter
f8beed9ce8 Fixed #2464. Well, let's see if it works. 2015-04-10 16:57:16 -07:00
Matt Lott
bc35a27750 Private clans server updates
Only return private clans in lists to owners.
Get for specific private clan still allowed.
Restrict create/join private clan to premium users.
2015-04-10 16:04:36 -07:00
Matt Lott
5c40221ab2 Update admin subs dashboard
Using invoices to aggregate totals which should provide a more accurate
growth rate.
2015-04-10 11:27:59 -07:00
Nick Winter
fc43803588 Fixed ladder match links in ladder update emails. 2015-04-10 08:17:51 -07:00
Nick Winter
5a163d285a Merge branch 'master' into production 2015-04-08 21:48:49 -07:00
Nick Winter
9ee0400c18 Updated to just send out tell-a-parent emails, no tell-a-friend emails. 2015-04-08 21:48:21 -07:00
Nick Winter
f2f008e01a Merge branch 'master' into production 2015-04-08 16:36:56 -07:00
Nick Winter
98b749eb1b Making simulator stuff more efficient by using less bandwidth. 2015-04-08 12:00:23 -07:00
Nick Winter
1906c1268b Merge branch 'master' into production 2015-04-07 21:35:50 -07:00
Nick Winter
f02a8b54f3 Fixed #2596. Stopped bless-brunch from using its cacheBuster feature. Set no-cache header for /db/model.type/slug so that we can use Cloudflare on /db/model.type/object-id. Fixed a coffeelint warning. 2015-04-07 19:03:35 -07:00
Matt Lott
3c755d39e6 Add recent subscribers to admin dashboard 2015-04-07 15:00:53 -07:00
Nick Winter
603f9f9a37 Fixed issue where some sessions would not grant proper leaderboard replay access. 2015-04-07 14:51:18 -07:00
Matt Lott
4da477c72f Merge branch 'master' into production 2015-04-07 10:06:20 -07:00
Nick Winter
7f41ad6c52 Added OSTraining and Breakout Mentors resources. 2015-04-07 09:25:42 -07:00
Nick Winter
ca440e5b78 Merge branch 'master' into production 2015-04-06 17:06:00 -07:00
Matt Lott
9d6e5fe20b Clan analytics
Hook up server-side operations.
2015-04-06 16:27:56 -07:00
Matt Lott
879d2aaf8c Merge branch 'master' into production 2015-04-06 12:05:28 -07:00
Matt Lott
cc4620bf6d 🐛Fix clan schema require case typo 2015-04-06 12:01:48 -07:00
Matt Lott
0cb53b4a79 Merge branch 'master' into production 2015-04-06 11:39:54 -07:00
Matt Lott
43fb8ed462 Add clans link everywhere
Top-level menu, world view, user profiles.
Will add to /teachers later.
2015-04-06 11:17:13 -07:00
Matt Lott
d4aa9882a9 Update clan buttons UI
And remove temporary test logging.
2015-04-06 10:07:16 -07:00
Matt Lott
57bdbb4432 🐛Fix anonymous clan details page viewing 2015-04-03 16:55:26 -07:00
Matt Lott
b808fa5276 Add favorite language to clan details page 2015-04-03 15:52:16 -07:00
Matt Lott
5ae93cd6ab Add clan description field 2015-04-03 14:09:43 -07:00
Matt Lott
39990ee151 Sort and limit clan lists
Clan lists sorted by member count, then created date.
Public clans lists limited to 100.
Member lists sorted by slug.
2015-04-03 12:22:44 -07:00
Matt Lott
dfff871c58 Add achievements to clan details view 2015-04-03 11:05:37 -07:00
Matt Lott
f0bee3fd98 Normalize clan owner data 2015-04-03 09:52:25 -07:00
Matt Lott
56342ad993 Normalize clan members data 2015-04-02 17:00:28 -07:00
Matt Lott
df120bdea3 Delete clan 2015-04-02 11:44:18 -07:00
Matt Lott
d91a7d8d1a Clans remove member 2015-04-02 11:01:37 -07:00
Matt Lott
bf38327578 Leave clan
And add join clan plumbing to clan details page.
2015-04-01 16:00:39 -07:00
Matt Lott
b48de3d74d Join clan 2015-04-01 15:24:45 -07:00
Matt Lott
482b66b8a4 Create and list clans
Replace mock data with some real functionality.
2015-04-01 11:56:48 -07:00
Nick Winter
11d3f62314 Merge branch 'master' into production 2015-03-28 13:55:06 -07:00
Nick Winter
0b1bb6a4aa Added admin/pending-patches view. Fixed accepting several kinds of patches. Added keyboard shortcuts for accepting (a) and rejecting (r) patches. Fixed #2490. Fixed #2515. Fixed #2304. 2015-03-28 13:54:44 -07:00