Matt Lott
5661a1fd8c
Add site origin data to course trial requests
2016-04-07 12:13:48 -07:00
Matt Lott
4b1486159c
Change teacher account convert terminology to update
2016-04-05 09:16:22 -07:00
phoenixeliot
beb53d9f2f
Various fixes and changes to teacher-accounts and teacher-dashboard
2016-04-04 15:42:29 -07:00
phoenixeliot
4a72ffc185
Implement all of teacher-dashboard
2016-04-04 15:19:27 -07:00
Scott Erickson
bd3a77da9f
Implement teacher accounts
2016-04-04 15:18:06 -07:00
Scott Erickson
e6593dea8d
Refactor FacebookHandler and GPlusHandler
...
* Move api loading to FacebookHandler
* Use success callbacks
* Use same, properly named events
* Use same functions and property names
* Refactor related social button, out of use rendering system
* Remove the now unnecessary form split from CreateAccountModal
2016-03-18 11:03:55 -07:00
Scott Erickson
84cdf1e2ce
Add showRequiredError and showSignupRationale alerts and tests to CreateAccountModal
2016-03-10 11:37:31 -08:00
Scott Erickson
a59e96f277
Tweak invalid class code behavior, fix hide modal button test
2016-03-10 11:23:09 -08:00
Scott Erickson
ebc98f988f
Refactor CreateAccountModal out of AuthModal, add class code to signup
2016-03-10 10:52:11 -08:00
Imperadeiro98
3fb8d8067a
Remove unused declarations from CocoModel.spec.coffee
2016-02-25 15:55:55 +00:00
Imperadeiro98
92dc72cce1
Remove name from loadModel
2016-02-18 16:44:40 +00:00
Scott Erickson
4ef5f40fa1
Network error handling fixes
...
* Make work there are multiple network requests and only one fails
* Test for i18n attributes instead of English translations so Travis works
* Various PR changes
2016-01-27 10:42:12 -08:00
Scott Erickson
3dda5710de
Move demo border to TestView to be used generally
2016-01-27 10:42:02 -08:00
Scott Erickson
d00f8344be
Add demo controls to TestView
2016-01-27 10:42:02 -08:00
Scott Erickson
29350bf1de
Make network error handling more generic
2016-01-27 10:41:56 -08:00
Scott Erickson
277c526dc3
Add CourseVictoryModal
2016-01-25 13:03:29 -08:00
Scott Erickson
355b5925c8
Fix client tests when you go to /test/views
2016-01-20 10:58:25 -08:00
Nick Winter
cba6a5a7b5
Update FacebookHandler test
2016-01-14 11:35:55 -08:00
Scott Erickson
13b9d81e4c
Fix some demo views
2016-01-07 09:40:35 -08:00
Nick Winter
a82f80bacb
Fix client test LevelLoader Thang URLs
2015-12-23 09:34:27 -08:00
Scott Erickson
d081f7553d
Fix FacebookHandler and its test
2015-12-11 15:39:07 -08:00
Scott Erickson
23e3821e24
Switch from jasmine-node to jasmine, run server tests on a single process
...
This collapses the difference between master and single-process-server-tests, to
remove some larger fixtures files that were in that feature branch.
2015-12-09 14:27:10 -08:00
Scott Erickson
7f2ddba089
Add remove student modal to ClassroomView
2015-12-02 11:56:38 -08:00
Scott Erickson
866900615f
Fix server tests
...
* user.email should be undefined: make sure request is made as an anonymous user
* user stats, add fix in 777eeab437e5d19e2c6da773e30f10d636f27039 from single-process-server-tests branch to master branch
2015-12-02 10:57:17 -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
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
Scott Erickson
6a54c7cf54
Add classroom name, description, and language editing, and classroom language infrastructure
2015-11-17 16:10:23 -08:00
Rob
449f62351e
Dont crash all the tests if stripe is 403
2015-11-14 19:22:16 -05:00
Rob
5531ac59b4
Really Really Stop test suite from crashing when this one fails.
2015-11-13 16:13:08 -05:00
Rob
257f14beff
Really Stop test suite from crashing when this one fails.
2015-11-13 15:51:09 -05:00
Rob
32414f0fd8
Stop test suite from crashing when this one fails.
2015-11-13 15:29:16 -05:00
Matt Lott
9189adcff0
Update teacher surveys
...
Gives 2 course headcount too.
2015-11-12 16:36:31 -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
4b71447877
Have POST /db/prepaid/:id/redeemers set user.coursePrepaidID property
2015-11-05 12:53:25 -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
Scott Erickson
9a2bfee5a7
Add GET /db/classrooms?ownerID=:id to server endpoints
2015-11-04 12:41:13 -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
Scott Erickson
27d423a410
Add Classroom server model and endpoints
2015-11-02 17:07:23 -08:00
Scott Erickson
d6b57f0e76
Disabling redeem at once test, as it appears to be causing errors
2015-11-02 15:27:13 -08:00
Scott Erickson
513c7e7a07
Add POST /db/prepaid/:id/redeemers
2015-11-02 15:23:08 -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
Scott Erickson
6a28de7c05
Make sure server tests don't run when production variables are in the environment
2015-10-29 12:05:56 -07:00
Driphter
73e3afa5f8
Added non-mutating methods for player code
2015-10-21 18:30:10 -04:00
Nick Winter
3446133452
Let's at least see what that test failure error is
2015-10-15 08:44:36 -07:00
Scott Erickson
2f9a689106
Fix LayerAdapter test
2015-10-13 10:40:11 -07:00
Matt Lott
67d088262c
🐛 Fix user admin query tests
2015-10-09 15:54:05 -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
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
Matt Lott
c6caafb7cd
Remove extra Stripe call in sub prepaid redeem
2015-09-25 14:06:51 -07:00
Matt Lott
1f08867f79
Update subscription server tests to use async.series
2015-09-25 10:28:27 -07:00
Matt Lott
928f72e2cf
Merge branch 'prepaid-v2' into master
2015-09-25 10:28:27 -07:00
David Liu
3266bd4621
Fix karma tests
...
* "Shim" StripeCheckout
* Fix loadDependenciesForSession test
* Update karma coverage for better perf
2015-09-09 14:02:03 -07:00
Matt Lott
d947bdd520
Reduce server Stripe subscription tests during Travis CI
2015-09-09 09:53:48 -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
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
9c492a2d4b
🐛 Increment gems for year sale purchase
2015-08-24 10:54:06 -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
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
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
5c240d89cd
Cancel recipient subscriptions immediately
2015-06-17 16:35:30 -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
Matt Lott
9812986655
Enable more server subs tests for Travis
2015-05-28 16:56:13 -07: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
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
Matt Lott
865ceac91a
🐛 Travis CI failures
...
Disabling some more subscription tests and adding spec durations so we
can narrow down the Travis CI timeout failures.
2015-05-12 15:08:55 -07:00
Matt Lott
4f54b4432f
Limit subscription tests under Travis CI
...
They are killing our Travis CI test runs due to timeouts and Stripe API
rate limits.
2015-05-06 13:49:47 -07:00
Matt Lott
559b9533c4
🐛 Fix clan name and description editing
...
#Fixes 2693
2015-04-21 14:12:01 -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
Matt Lott
2b29e755fe
Make clan name and description editable
2015-04-15 11:09:43 -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
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
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
Matt Lott
53de6c6134
Add current subscription counts view under the admin page
2015-03-27 15:27:34 -07:00
Matt Lott
2561bc4caf
🐛 Fix Stripe web hook sub deleted for deleted user
...
Add check for deleted user in subscription deleted Stripe web hook
event handler, and equivalent test case.
Add logging for web hook 500 errors to aid future debugging.
2015-03-20 16:14:32 -07:00
Matt Lott
fec3ac38e9
Prepaid subscriptions
...
Admins can generate a prepaid code, which a user can use to subscribe
for free via the account/subscription page.
The subscription will be identical to the normal monthly subscription
(e.g. 3500 gems per month), except they won’t be charged.
Does not require the recipient to enter billing information.
Can be applied to an existing subscription, which will be converted to
free.
Prepaid code can only be used once.
Prepaid subscription cannot be unsubscribed via the UI.
2015-03-19 15:04:15 -07:00
Matt Lott
af89452b93
Merge branch 'sponsored-subs'
2015-03-13 15:19:20 -07:00
Matt Lott
cd59b90e37
Add custom payments
...
Example:
https://codecombat.com/account/invoices?a=21600&d=9%20monthly%20subscrip
tions
2015-03-04 15:40:53 -08:00
Nick Winter
df4b98a9bf
Added a new 'artisan' permission, which can edit most of the things admins can, but with less uncomfortable ultimate power.
2015-02-25 18:41:39 -08:00
Nick Winter
768ef7818c
Removed unneeded mongodb driver, since Mongoose uses its own.
2015-02-22 11:38:51 -08:00
Nick Winter
7d7db5dafe
Thang Editor can now drag Thangs to adjust registration points. Fixed missing terrain save property on ThangTypes. Fixed text search test. Added new Talus (mountain floors) to floor ThangType list for proper stretching.
2015-02-22 11:07:56 -08:00
Matt Lott
7e46b819c4
Stripe API version update fixes
...
Using customer sources instead of cards so we can update our API
version:
https://stripe.com/docs/upgrades?since=2014-11-05#api-changelog
2015-02-22 07:54:36 -08:00
Nick Winter
87f3b9e135
gamesCompleted now properly fires achievements even though it's not using normal saves.
2015-02-18 17:08:54 -08:00
Nick Winter
58716f5b75
Revert "Fixed #1076 , and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose."
...
Saw that this caused 500s on /auth/whoami with no cookies set, with this error:
debug: 500: MongoError: E11000 duplicate key error index: coco.users.$emailLower_1 dup key: { : null }
Probably we need to be much more careful about what changes this blanket change to the minimize Mongoose option might introduce, since tests didn't catch this, but it would have taken the site down for anyone not logged in already.
This reverts commit 121f07d020
.
2015-01-09 18:30:05 -08:00
Scott Erickson
121f07d020
Fixed #1076 , and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose.
2015-01-09 11:56:54 -08:00