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
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
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
Rob
6ecd54baa5
Use grep to find other mismapped routes.
2015-11-13 15:13:47 -05:00
Rob
24f352fb72
Fix route mappings for trail requests.
2015-11-13 14:57:15 -05:00
Rob
631cc7766d
Fix analytics mapping.
2015-11-13 14:11:07 -05:00
Matt Lott
9189adcff0
Update teacher surveys
...
Gives 2 course headcount too.
2015-11-12 16:36:31 -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
910dd8e6b6
Use course access control for shared course hero levels
2015-11-12 11:00:54 -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
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
95b61c2f83
Add recurring revenue to admin analytics page
...
https://app.asana.com/0/54276215890539/59638739614287
2015-11-08 17:00:24 -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
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
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
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
110ee58b71
Fix 3126: campaigns not respecting i18n-coverage query
2015-10-22 06:42:42 -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
d776809e1c
Update Hour of Code student flow and tracking, remove signup requirement
2015-10-13 08:12:07 -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
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
5dde55c1f3
Add premium server recognition for Brazil
2015-10-09 08:05:34 -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
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
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
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
b4f500333f
Assign pt-BR or zh-HANS for those domains
2015-09-18 08:38:12 -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
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
4d68080c4c
Bumped up Ace of Coders simulations for the tournament.
2015-09-09 21:54:22 -07:00
Nick Winter
b13504eeb5
Watching out for finding a null session when getting two games.
2015-09-09 08:59:33 -07:00