Commit graph

3706 commits

Author SHA1 Message Date
Matt Lott
cad067fa8c 🐛Fix admin classroom progress CSV
Respect fetch paging.
2016-07-07 15:18:04 -07:00
Matt Lott
a884fbf38b Admin class progress CSV export 2016-07-07 11:07:38 -07:00
Rob
228019ac89 - Limit when this autocompletion can pop up.
- Remove some left over cruft from the text completer.
2016-07-06 13:31:46 -07:00
Rob
c7901c3237 Unbreak things when you don't have glasses. 2016-07-05 12:34:54 -07:00
Rob
9c7320e26a - Move Zatanna out of own repo and into CodeCombat
- Move snippet creation out of SpellView
- Disable text based completions.
2016-07-01 16:39:21 -07:00
Matt Lott
ba54754373 Admin classroom levels page 2016-06-30 08:29:27 -07:00
Rob
ac47928131 - Reduce size of answer code in verifier
- Assume we want to run a single level on only one core for accurate speed testing.
2016-06-29 16:18:36 -07:00
Matt Lott
63e38c82b2 Update school counts page with geoip and 10+ buckets
Placing teachers and students in unknown districts and schools if we
have geoip countries and states/regions.
Placing teachers/students in unknown schools if there are 10+ students.
2016-06-29 15:01:04 -07:00
Nick Winter
ede12ed50f Add effective simulation frames per second to verifier 2016-06-29 12:40:30 -07:00
Matt Lott
50a017b1e9 🐛Fix UK matching on school counts page
Not a huge difference in raw numbers
2016-06-28 17:18:04 -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
Scott Erickson
fe1598cab2 Implement multi-select, remove click-to-navigate from level editor 2016-06-28 09:20:05 -07:00
Scott Erickson
4dda1b67dd Refactor ThangsTabView to use GameUIState for managing all Surface mouse events
Attempting to use a react-component-like system, where the Surface simply emits everything that
happens through the shared GameUIState, and the parent (in this case the ThangsTabView, but theoretically
anything that uses the surface) handles the events manually, to enforce desired behavior for that particular
context.

It's nice that all the event handling is centralized, but it's still a bit of a mess, and not thoroughly
stateful. But it's a start. This is in preparation for allowing multi-thang selection and manipulation
in the level editor.
2016-06-28 09:19:38 -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
Matt Lott
08886460c2 Remove default licenses needed from request form 2016-06-26 14:49:09 -07:00
Matt Lott
425115ad37 Remove level type 'hero-practice', use level.practice 2016-06-25 08:38:59 -07:00
Nick Winter
69eb1dc07a Preparing for master-wizard 2016-06-24 15:01:49 -07:00
Nick Winter
a4654f613d Add two starting new heroes. Fix #2753 again for now. 2016-06-24 14:57:21 -07:00
Nick Winter
7c876401bc Do show bonus goals in course mode if you actually achieve them 2016-06-24 08:50:38 -07:00
Catsync
f1d17ebcba Don't show optional goals if playing level as type 'course' (#3758) 2016-06-24 08:32:50 -07:00
shuwn
c6fcf588f7 Update DiplomatView.coffee (#3750) 2016-06-24 15:40:50 +01:00
Matt Lott
18de9ab298 Create call tasks and opps for license requests 2016-06-23 06:12:51 -07:00
Josh Callebaut
b8bdc0c726 Merge pull request #3754 from Zerrien/campaign-treema-display
Clicking on level in treema makes the level flash
2016-06-22 15:56:54 -07:00
Josh Callebaut
e953f7fc60 Cleaner jQuery selection 2016-06-22 15:36:42 -07:00
Josh Callebaut
0ad8fddff6 Clicking on level in treema makes the level flash 2016-06-22 15:11:27 -07:00
Rob
f100e7ab52 Non-integer indentation levels are impossible. 2016-06-22 15:08:20 -07:00
Matt Lott
73698129a0 Make level practice threshold available in editor 2016-06-21 16:41:47 -07:00
Rob
bdfa6d435a Add extra options to verifier. 2016-06-21 11:48:42 -07:00
Matt Lott
df90935aba Admin school counts page 2016-06-21 09:33:06 -07:00
Matt Lott
e0170d0339 Add hero-practice level type and threshold to schema
Filtering out hero-practice levels from classrooms until the Ux
supports them.
2016-06-19 20:23:32 -07:00
Matt Lott
4622337d82 Update licenses needed form
Ensure the needed licenses are in the subject resulting email.
2016-06-17 15:40:07 -07:00
Catsync
6901b758e6 Update estimated course times (#3738)
* Update time estimates for courses.

* Update coming soon text.
2016-06-16 12:56:43 -07:00
Scott Erickson
57def1fbeb Merge pull request #3727 from duybkict/refactor-MyMatchesTabView
#3138 #3488 refactor MyMatchesTabView
2016-06-16 10:41:17 -07:00
Scott Erickson
a4b5e92b06 Merge pull request #3726 from duybkict/refactor-SimulateTabView
#3138 #3488 refactor SimulateTabView
2016-06-16 10:34:53 -07:00
Matt Lott
6739353d8e 🐛Fix hint intro overview duplicates 2016-06-16 10:21:37 -07:00
Scott Erickson
86fc4a3846 Hints v1
Add per-level tips and tricks, available during gameplay to help unstick players.

Closes #3736
2016-06-15 16:12:41 -07:00
Scott Erickson
c8e7b79e5d Make demoEl run _.once 2016-06-15 16:09:24 -07:00
phoenixeliot
e841334c86 Fix join class modal (temporary hack) 2016-06-15 13:28:03 -07:00
phoenixeliot
749601c9d8 Don't cache classrooms (fetched by memberID) 2016-06-14 14:27:57 -07:00
Matt Lott
ecb5169ca7 Add hintsB to level schema 2016-06-14 10:29:30 -07:00
Nick Winter
a96d5df78e Don't protect APIs in game-dev levels 2016-06-13 16:21:22 -07:00
phoenixeliot
ccf5b449e3 Use classroom.courses.levels instead of campaign.levels 2016-06-13 14:47:10 -07:00
Nick Winter
d2634e63ed Fix #3642: AIs using aiSource now don't need API protection (with new Aether) 2016-06-09 17:59:19 -07:00
Matt Lott
55bd49fde0 Add course playtimes to student progress CSV 2016-06-09 14:44:47 -07:00
Rob
aa7f2af700 No ads, act two. 2016-06-09 12:13:17 -07:00
Matt Lott
9dbcf27e11 Add classroom Mixpanel logging
Closes #3720
2016-06-09 10:46:26 -07:00
duybkict
0c0f075424 #3138 #3488 refactor MyMatchesTabView 2016-06-09 10:31:53 +07:00
duybkict
a4e8cafdb3 #3138 #3488 refactor SimulateTabView 2016-06-09 10:00:47 +07:00
Nick Winter
b0fcddac68 Add game-dev level type (#3725)
* Initial pass adding new game-dev level type.

* Fix a failing test with updated LevelSystem required properties

* Bring back normal Angel worker timeout times

* Fix another failing LevelSystem test since removing propertyDocumentation
2016-06-08 16:57:00 -07:00
Scott Erickson
0d5bf6b4de Merge branch 'username-login' 2016-06-08 15:48:46 -07:00
Scott Erickson
c57fd6f460 Do not set campaignIndex for levels except for course campaigns 2016-06-08 15:48:26 -07:00
Scott Erickson
69f3ee3a5b Allow username login, tear out a bunch of related stuff in change
* Switch from auth.loginUser to User.loginPasswordUser with Promise
* Remove a cascade of unused views that were using auth.loginUser: StudentLogInModal, StudentSignupModal, HourOfCodeView
* Also remove auth.createUser
2016-06-08 13:55:19 -07:00
Scott Erickson
86699a8510 Merge pull request #3719 from duybkict/refactor-LadderTabView
#3138 #3488 refactor LadderTabView
2016-06-08 10:01:37 -07:00
Scott Erickson
2f9f062165 Merge pull request #3718 from duybkict/refactor-LadderPlayModal
#3138 #3488 refactor LadderPlayModal
2016-06-08 09:53:59 -07:00
Scott Erickson
6beae97911 Merge pull request #3717 from duybkict/refactor-ContributorClassView
#3138 refactor contributor views
2016-06-08 09:43:14 -07:00
Scott Erickson
9a36cf514e Merge pull request #3716 from duybkict/fix-3678-rebase
Fix #3678 display error on loading resources failed - rebased
2016-06-08 09:35:31 -07:00
duybkict
23d45ab947 #3138 #3488 refactor LadderTabView 2016-06-08 16:36:01 +07:00
Matt Lott
c3f1e6e04c Turn off homepage logged out a/b tests 2016-06-07 05:36:48 -07:00
duybkict
c1f1b4a048 #3138 #3488 refactor LadderPlayModal 2016-06-07 18:05:06 +07:00
duybkict
7e4573f37c #3138 refactor contributor views 2016-06-07 17:09:00 +07:00
duybkict
f439ffddc7 fix issue #3678 2016-06-07 09:42:57 +07:00
Scott Erickson
be78f4049c Fix adding inventory items to hero in level editor
Was only happening when HeroPlaceholder had HasPet component.
Presumably because the collection was loaded by HasPet, but the thang node
for the inventory node needed to populate its autocomplete array.
2016-06-06 15:35:10 -07:00
Scott Erickson
53a7510c46 Remove logs 2016-06-06 14:30:58 -07:00
Scott Erickson
891d0fe12f Fix TeacherClassView sometimes not loading
This was a race condition where the view would trigger a render
before courses loaded, and the template required them when it had
some of its other resources.
2016-06-06 13:55:37 -07:00
Scott Erickson
7a0fb967f0 Add clearer reports to client TestView 2016-06-03 16:26:03 -07:00
Rob
2ef10f58b3 Fix bug where visual indents couldn't nest. 2016-06-03 14:01:37 -07:00
phoenixeliot
870ae9a8a1 Add hero selector for courses mode
Use selected hero in Course mode play

Show selected hero on Courses (in progress)

Add hero select modal

Use short names, only show warriors

Use box-shadow instead of borders

Add tests for HeroSelectModal

Refactor modal opening test

Address code review feedback
2016-06-03 13:40:41 -07:00
Scott Erickson
5e1942c0d3 Fix adding levels to campaigns 2016-06-03 13:30:56 -07:00
Scott Erickson
f6f941b13d Merge pull request #3705 from duybkict/refactor-LadderView
refactor LadderView
2016-06-03 10:21:28 -07:00
Rob
8d2df0baff Kill some console logs @poojawins 2016-06-02 20:17:52 -07:00
duybkict
e7f221813e remove constructor, handle load async process 2016-06-03 09:23:35 +07:00
duybkict
b88ca10f21 Merge branch 'master' into refactor-LadderView 2016-06-03 09:06:58 +07:00
Rob
3485abd413 Don't show indent guides for incorrect python indention. 2016-06-02 18:46:47 -07:00
phoenixeliot
ae3b8057f7 Detect URL classCode in createAccountModal 2016-06-02 12:51:05 -07:00
Matt Lott
50ee20d3ae Send teacher contact us form emails through Close.io 2016-06-02 11:13:52 -07:00
Scott Erickson
6e48d700bc Merge branch 'update-invite-to-classroom'
Work was duplicated. Merging in changes from branch, but leaving
the master version as is in this commit.
2016-06-02 10:20:19 -07:00
duybkict
a9d9a67383 refactor LadderView 2016-06-02 15:44:19 +07:00
duybkict
215ff1faaf refactor MainLadderView 2016-06-02 14:54:00 +07:00
Rob
c20ee729ca Merge branch 'bug-smash' 2016-06-01 16:45:01 -07:00
Josh Callebaut
13b69d15f2 Display auto-complete box even after adding a new line 2016-05-31 16:50:22 -07:00
Scott Erickson
dfd4602553 AuthModal handles empty fields, fix #3587 2016-05-31 15:54:28 -07:00
Scott Erickson
634cc1fb15 Fix anchor links on /about 2016-05-31 15:37:30 -07:00
Nick Winter
e7f79ab721 Several fixes for level editor update speed--should be faster for making changes on complex levels 2016-05-31 15:32:32 -07:00
Scott Erickson
d4c5d418ff Improve CampaignEditor saving, particularly level order
* Do not cache campaign
* Instead have an on leave message if there are unsaved changes
* Propagate campaignIndex values to campaign and levels so that they signal a change in order

 The save modal seems to have a lot of issues with identifying what models have
 changed. I tried using different methods, but none were consistent. Moving on
 to other bugs.
2016-05-31 15:09:26 -07:00
Scott Erickson
249255e4dc AuthModal and CreateAccountModal load gplus and facebook on init
On Windows/Chrome, the first click of the g+ button shows a popup
blocked warning, because the action is deferred while loading the
gplus library. Have the modals load the library first, and enable the
buttons when they're ready.
2016-05-31 12:39:30 -07:00
phoenixeliot
f067337635 Fix classroom student count 2016-05-31 11:22:42 -07:00
Nick Winter
da90ab980e Fix some failing tests 2016-05-31 10:59:06 -07:00
Matt Lott
fd8f65cadc Help button should open "Overview" (Guide) by default 2016-05-31 10:37:30 -07:00
Matt Lott
ffcd89d327 Turn off video tutorials for course levels 2016-05-31 10:12:22 -07:00
duybkict
4f369a1e2f #3138 #3488 refactor UserView, MainUserView 2016-05-31 09:56:55 -07:00
Nick Winter
4160058505 Make skipping real-time playback jump to final frame. Fix #2827. 2016-05-31 08:50:17 -07:00
Nick Winter
96e6e0de9e Fix #2889: show incremental gem and xp award for replayable levels, not total 2016-05-30 17:33:15 -07:00
Nick Winter
88a07b5c09 Destroy vim mode option 2016-05-30 17:08:11 -07:00
Nick Winter
065069cfdd Make CourseVictoryModal respect Markdown in next level description 2016-05-30 16:26:55 -07:00
Nick Winter
1deddc6fd2 Verifier now runs all solutions and lets you choose which campaigns and languages to skip. 2016-05-30 13:51:09 -07:00
Matt Lott
d0d3d838ed Better page titles
Also ditching non-production constructor page titles
2016-05-27 09:40:46 -07:00
Matt Lott
4bb3ac1f0a Replace Anoner with Anonymous
Closes #3686
2016-05-26 16:54:24 -07:00
Scott Erickson
6b3e94d60a Remove log 2016-05-26 15:12:10 -07:00
Scott Erickson
7d1d1500d9 Fix course progress tab select 2016-05-26 15:01:23 -07:00
Scott Erickson
8f7e4e2278 Add hints to level schema, I18N editor 2016-05-26 14:51:28 -07:00
Matt Lott
e218af8418 Terminology change: enrollments/credits => licenses
Closes #3676
2016-05-25 09:27:47 -07:00
phoenixeliot
a1a55a9b6d Remove revoke functionality 2016-05-24 16:05:40 -07:00
Scott Erickson
8dbc86ca04 Fix bugquest bugs
Hide TeachersContactModal after sending message

Fix GET /db/level/:handle/session, more extensively test

Fix EnrollmentView number of students input to stop losing focus on input

Fix EnrollmentsView syntax

Fix ActivateLicensesModal "Get Enrollments" button when already in the enrollments page

Update EnrollmentsView with new credit numbers when ActivateLicensesModal closes

Hide search box in TeacherClassView "Enrollment Status" tab

Tweak EnrollmentsView styling

Fix EnrollmentsView tests

Fix AnalyticsView

Make EnrollmentsView more explicitly handle undefined and empty array prepaid groups

Remove log

CoursesView handles JoinClassModal cancel

Re-enable EditStudentModal set password button when the form changes

Fix course instance tests, next level endpoint bug

Fix EditStudentModal tests
2016-05-24 14:10:56 -07:00
phoenixeliot
3d705e5d70 Fix bugquest bugs
Fix link to /teachers/classes (fixes bugquest#20)

Fix edit button color/icon (bugquest#23)

Fix bugquest#34

Fix password input width (bugquest#33)

Center new pasword text

Fix teacher password reset endpoint (bugquest#4)

Refactor+use NewHomeView logic for user page button (Fixes bugquest#2)

Refactor teacher-password-reset endpoint

This makes it much easier to prevent collisions with other logic when PUTing new User attributes.

Add regression test for converting to teacher account

Fix email verified links, require login (fix bugquest#16)

Fix me having stale emailVerified value (Fixes bugquest#40)

Don't show JoinClassModal to students

Add paragraph to JoinClassModal (fixes bugquest#14)

Update change-password label text (fixes bugquest#30)

Fix prompting for login on Account Settings page (bugquest #10)

Show validation errors for teacher password reset (bugquest#36)

Show yellow progress dot in My Classes if anyone has started (bugquest#55)

Remove confusing text (bugquest#100)
2016-05-24 14:10:17 -07:00
Scott Erickson
f0fa88206d Add Enrollment start/end dates, remove self-serve
* Refactor several related endpoints and views
* Redesign EnrollmentView, add TeacherContactModal
* Add "Enrollment Status" tab to TeacherClassView
* Delete PurchaseCoursesView and related files
* Style-flatten RemoveStudentModal
* Fix error handling in ActivateLicensesModal
* TeacherCoursesView loads faster by only loading course campaigns, and not load prepaids
2016-05-24 14:07:28 -07:00
phoenixeliot
8496343a02 Improve student account recovery
This adds the ability to verify email addresses of a user, so we know they have access to the email address on their account.

Until a user has verified their email address, any teacher of a class they're in can reset their password for them via the Teacher Dashboard. When a user's email address is verified, a teacher may trigger a password recovery email to be sent to the student.

Verification links are valid forever, until the user changes the email address they have on file. They are created using a timestamp, with a sha256 of timestamp+salt+userID+email. Currently the hash value is rather long, could be shorter.

Squashed commit messages:

Add server endpoints for verifying email address

Add server endpoints for verifying email address (pt 2)

Add Server+Client endpoint for sending verification email

Add client view for verification links

Add Edit Student Modal for resetting passwords

Add specs for EditStudentModal

Tweak method name in EditStudentModal

Add edit student button to TeacherClassView

Fix up frontend for teacher password resetting

Add middleware for teacher password resetting

Improve button UX in EditStudentModal

Add JoinClassModal

Add welcome emails, use broad name

Use email without domain as fallback instead of full email

Fetch user on edit student modal open

Don't allow password reset if student email is verified

Set role to student on user signup with classCode

Tweak interface for joinClassModal

Add button to request verification email for yourself

Fix verify email template ID

Move text to en.coffee

Minor tweaks

Fix code review comments

Fix some tests, disable a broken one

Fix misc tests

Fix more tests

Refactor recovery email sending to auth

Fix overbroad sass

Add options to refactored recovery email function

Rename getByCode to fetchByCode

Fix error message

Fix up error handling in users middleware

Use .get instead of .toObject

Use findById

Fix more code review comments

Disable still-broken test
2016-05-24 14:07:28 -07:00
Nick Winter
dd08a8bd64 Fix always using JavaScript for enemy AI in multiplayer 2016-05-24 13:54:49 -07:00
Nick Winter
8fce97aad3 Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
duybkict
2ded5ff4f0 Refactor ClansView #3138 #3488 2016-05-24 10:05:03 -07:00
duybkict
0e2b919ec1 Refactor AnalyticsView #3138 #3488 2016-05-24 09:35:54 -07:00
duybkict
75c7d140d1 refactor UnsubcribeView #3138 #3488 2016-05-19 07:41:16 -07:00
Scott Erickson
184be0bf65 CourseDetailsView does not link to next course if the student is not assigned to that course 2016-05-18 17:03:49 -07:00
Josh Callebaut
d4a557ef70 Fix uncommented campaigns 2016-05-18 14:53:34 -07:00
Josh Callebaut
a190acb108 Kebab-cases html ids 2016-05-18 13:33:02 -07:00
Josh Callebaut
a5cad6f986 Utilize debounce, clean up event logic, remove unused CourseGearView 2016-05-18 12:50:51 -07:00
Josh Callebaut
38e97ab404 Refactor all server-side fetching calls, refactor solutionProblemView, minor changes to rest 2016-05-18 12:50:50 -07:00
Josh Callebaut
19e1c808d8 Fix filename convention, improve solution checker, remove old files 2016-05-18 12:50:50 -07:00
Josh Callebaut
30c879ddc0 Fix bug with Solution Problem View's problem count; add start of Course Gear View 2016-05-18 12:50:50 -07:00
Josh Callebaut
443bbae5db Improves level/campaign fetching for the solution problems view, and switches the names of the files 2016-05-18 12:50:49 -07:00
Josh Callebaut
bd322b3899 Improvements on solution tracking 2016-05-18 12:50:49 -07:00
Josh Callebaut
8df6a182e8 Further changes on the Analytics view 2016-05-18 12:50:49 -07:00
Josh Callebaut
62a027e76e Initial stages of an analytics view 2016-05-18 12:50:49 -07:00
Josh Callebaut
0436f18279 Migrates Artisan helpers to their own directory and begins implementation of level tasks view 2016-05-18 12:50:49 -07:00
Scott Erickson
d513dfee66 Merge pull request #3656 from duybkict/fix-3488
#3488: use initialize() on PrepaidView
2016-05-18 09:30:57 -07:00
Matt Lott
6f6d65a005 /courses/update-account page
Allows a user to update their account based on their current role of:
individual, student, or teacher

Closes #3647
2016-05-18 06:06:28 -07:00
duybkict
f6e4aa3249 #3488: use initialize() on PrepaidView 2016-05-18 16:59:36 +07:00
Scott Erickson
0fb6b3095f Merge pull request #3623 from duybkict/fix-3138
Fix #3138
2016-05-17 09:54:21 -07:00
Scott Erickson
f6b3016d85 POST /db/classroom/-/members joins any free course instances, rather then CoursesView doing so 2016-05-16 16:47:08 -07:00
Rob
58895470ed Unattach resize event when NewHomeView is destoryed 2016-05-13 15:46:37 -07:00
Rob
dbc6f6821f No ads for now. 2016-05-13 11:26:52 -07:00
Nick Winter
d079c29f51 Update locale interpolation format for non-English (see 747c5f29f7) like in #3613 2016-05-13 10:53:39 -07:00
Cat Sync
6e11b0dcda Definitely use hero if hero is present in the user code. 2016-05-13 13:37:36 -04:00
Cat Sync
59408c0de2 Merge remote-tracking branch 'codecombat/master' into flip-hero-logic 2016-05-13 13:32:46 -04:00
duybkict
b58fce5868 #3138: refactor PrepaidView 2016-05-13 18:18:17 +07:00
duybkict
61ea013caf #3138: refactor PrepaidRedeemModal 2016-05-13 18:14:17 +07:00
phoenixeliot
9cb6e99942 Add operator keywords and truth values to translations
Add and tweak code translations

Translate shortened words to complete words
2016-05-12 13:46:44 -07:00
Rob
9bf118962f Disable Clojure and IO 2016-05-12 11:36:10 -07:00
phoenixeliot
05ae7057db Fix class joining when entering it in the signup field 2016-05-11 14:53:05 -07:00
phoenixeliot
35d0352a92 Autofill class code from URL in signup modal 2016-05-11 14:53:05 -07:00
Matt Lott
8e6293824b 🐛Fix admin demo requests 7-day average 2016-05-11 11:55:46 -07:00
Matt Lott
8bc9cd5ee6 Admin teacher demo requests page
Incoming rates table
Student counts table
2016-05-11 11:52:32 -07:00
Rob
913565397b Allow passing languages into verifier. 2016-05-10 15:21:02 -07:00
Cat Sync
50c8588231 Default to using hero unless self/this is present in the player's code.
This affects the autocomplete and spell palette api docs.
2016-05-09 12:49:25 -04:00
Scott Erickson
f7a6d354af Add school and teacher names to invite email context 2016-05-06 13:28:19 -07:00
phoenixeliot
8223122a6b Refactor and update teacher-dashboard
This updates TeacherClassView and ActivateLicensesModal to use the
new state-based rendering system, making it much snappier and less clunky
feeling, and improving data consistency.

Features also included in this:
- Hover details for progress dots in TeacherClassView
- ActivateLicensesModal has an "All Students" option and better handling
  when you switch classrooms in the dropdown
- Unenrolled/Unassigned students are shown separately in Course Progress and
  can be enrolled/assigned from there.

Add Back to Classes button on demo-request submitted view

Delete temporary patch file

Show unenrolled students separately in Course Progress (incomplete)

Migrate TeacherClassView to use orchestrator-style events, add unassigned students section, replace bootstrap tabs with state-based tabs

Convert missed instance variables to be in @state

Fix merge errors

(in progress) Convert a bunch of stuff to use state and events (removing student needs fixing)

Fix up modal interactions, some bugs

Switch state to be a Model, sync up course dropdowns

Convert student sorting to use state model

Add hover tooltips to TeacherClassView Students tab

Don't keep tooltip open when you mouse into it

Add dateFirstCompleted and Course Progress tooltips

Course Overview progress tooltips

Refactor ActivateLicensesModal

Refactors:
Uses state object for view state
Passes back the updated users in 'redeem-users' event instead of modifying given collection

Features:
Add 'All Students' dropdown option
Don't forget checked students if you change classroom from dropdown,
  but only enroll the ones visible when you click "Enroll (n) Students"

Separate enrolled students; improve style

Rearrange error text

Disable enroll-students button when none are selected

Remove console.logs

Move style-flat variables to another file

This prevents .style-flat from being copied in multiple times to the resulting CSS.

Show Unarchive button when on the page for an archived class

Move text to en.coffee

Only sort students on first classroom sync

Fix merge error

Handle sessions missing completion date in view logic instead of migration script

Listen to classroom sync more than once in case it gets unarchived
2016-05-06 13:13:11 -07:00
Scott Erickson
fffe5f995d Merge branch 'master' of https://github.com/Marvellanius/codecombat into dutch-localization-update 2016-05-06 12:03:34 -07:00
Scott Erickson
3ad395ecb8 Lightweight invoice purchases show description on PaymentsView 2016-05-06 11:43:54 -07:00
Nick Winter
32f74531e4 Enable Esper by default in certain cases; improve verifier a bit; misc cleanup 2016-05-05 16:56:58 -07:00
Nick Winter
e4c904463c No more transpiledCode 2016-05-05 13:22:30 -07:00
Matt Lott
b70e9bbcfe Add export student progress csv to class view
Works on Chrome and Firefox, not so great on Safari, untested on IE and
Edge.
2016-05-05 09:54:24 -07:00
Marvellanius
cef1f95a5a add dutch localisation to payment
add dutch localisation static files
2016-05-04 15:38:33 +02:00
Marvellanius
532dbda651 fix empty product bug 2016-05-04 15:38:33 +02:00
Nick Winter
22007fff9b Make multiplayer work in esper mode 2016-05-03 22:26:48 -07:00
Rob
42b49975e8 Add multithreading to verifier. 2016-05-03 19:51:19 -07:00
Rob
5af695494c Reclaim some memory from the verifier. 2016-05-03 15:15:44 -07:00
Rob
1734a1b46f - Show reason why levels didn't load in verifier
- Remove multiplayer levels from default verifier level list.
2016-05-03 14:37:06 -07:00
Scott Erickson
aed5e6b8ac Fix removing students from a classroom
TeacherClassView loaded course instances by owner rather than by classroom,
so the student would be removed from course instances in unrelated
but commonly owned classrooms.
2016-05-03 13:08:42 -07:00
Rob
5e7b267691 - Add more test levels to verifier
- Add helper buttons to verifier.
2016-05-03 12:14:51 -07:00
Rob
3f41eaec01 - Allow ?dev=true in verifier
- Show progress bar and totals in verifier
- Fill in templates in solution source code.
2016-05-03 11:46:10 -07:00
phoenixeliot
c666a39d3b Fix StudentLoginModal crash on invalid login
Add test for student bad login
2016-04-29 15:34:11 -07:00
phoenixeliot
91fa467251 Fix teacher sessionless play; uses default campaign levels
Fix typo

Fix race condition with loading next level

Return an empty object for next level instead of an error;
Supermodel has a race condition when some of the models fail to load,
when we override an error response as "success".

Fix next level spec

Remove comment per Scott's request
2016-04-28 12:46:09 -07:00
Rob
f39cac3abf Try to keep learn more above the fold. 2016-04-28 10:52:37 -07:00
Nick Winter
747c5f29f7 Finally figured out how to use i18next interpolation correctly; using it on level counts in SubscribeModal 2016-04-28 10:07:47 -07:00
Scott Erickson
997fe1aafb CoursesView uses regular login and create account modals 2016-04-27 16:26:05 -07:00
Matt Lott
7b88eb0250 Remove Clojure from /about and play modals 2016-04-27 16:15:27 -07:00
phoenixeliot
1999b41ff3 Don't convert to teacher automatically in EnrollmentsView 2016-04-27 13:20:19 -07:00
Scott Erickson
675e3290ac Lock course content to classrooms 2016-04-27 09:58:04 -07:00
phoenixeliot
7c1059bffa Fix code review feedback
Fix code review feedback (2)

Fix code review feedback (3)
2016-04-26 16:37:36 -07:00
phoenixeliot
66f99dd834 Add translation tooltips for code
Tweak tooltips, add some translation keys

Fixed not showing translations for English-speakers

Remove comment
2016-04-26 16:37:07 -07:00
phoenixeliot
02d833639b Make LevelComponent names translatable, show spell name translations in doc tooltips 2016-04-26 16:37:06 -07:00
Rob
70999fa150 Track when COPPA dialog is shown. 2016-04-26 16:31:51 -07:00
Rob
5bd8f7a1cb COPPA tests. 2016-04-26 14:01:03 -07:00
Rob
4183764b61 Add birthday field to user that rejects users under 13 on signup. 2016-04-26 14:00:49 -07:00
Josh Callebaut
c6cbcd4777 Merge pull request #3395 from Zerrien/spade
Implements Spade functionality, and adds the sublime project file.
2016-04-26 11:15:17 -07:00
Josh Callebaut
c4652d82e2 Implements the SPADE logger into the SpellView
* Updates spade.js vendor file, adds a sublime-project for developers to use
* Moves server logic away from handlers
* Moves session update logic to middleware, sets up server schema to autorender IDs as ObjectIDs
* Modernizes the supermodel loading scheme and switches from constructor to initalize
2016-04-26 09:56:30 -07:00
Scott Erickson
3c715ceba8 Merge pull request #3562 from edtrist/PauseModalVideo
Pause help videos when guide modal is not visible
2016-04-26 09:39:12 -07:00
Nick Winter
e4392019a4 Fix console.warning -> console.warn typo 2016-04-25 17:25:30 -07:00
Nick Winter
e96f4651f2 Add basic listening for code problems to Verifier 2016-04-25 17:03:08 -07:00
edtrist
405fbeabf8 use view jquery 2016-04-25 22:19:28 +01:00
Rob
9fec6f6613 Don't break jQuery-UI autocomplete with algolia's 2016-04-21 11:21:11 -07:00
Scott Erickson
a452f1ce47 Update teacher trial request views, some related bug fixes
* Tweak wording, options
* Instead of storing changes in local storage, warn when users may lose changes by navigating away
* Fix CreateTeacherAccountView so that if you connect to an existing account, the redirect is triggered
* Fix users.coffee weird race condition
2016-04-20 16:30:11 -07:00
Rob
67686e8c71 Add district complete to teacher convert page. 2016-04-20 10:37:00 -07:00
Rob
f79a9b96bf Add district picker to teachers/signup 2016-04-20 10:29:59 -07:00
edtrist
fb15c0bf94 Pause help videos when guide modal is not visible 2016-04-20 00:38:44 +01:00
phoenixeliot
b4b435283b Don't clear me before tests (needs more thought) 2016-04-19 13:10:45 -07:00
phoenixeliot
79d4fc3126 Merge branch 'dashboard-bugfixes' 2016-04-19 12:36:36 -07:00
phoenixeliot
e2d08fa7cf Stuff
Partially fix ActivateLicensesModal.spec

[IN PROGRESS] Don't display deleted users

Move userID to classroom.deletedMembers on user delete (not retroactive)

Fix PDF links for course guides, remove old PDFs from repo

Remove deprecated SalesView

Remove underline for not-yet-linked student names

Only show class select when there's more than one

Ignore case when sorting student names

Use student.broadName instead of name for display and sorting

Fix initial load not showing progress after joining a course (hacky)

Fix text entry for enrollment number input

Fix enrollment statistics

Fix enrollment stats completely (and add back in per-class unenrolled count)

Add deletedMembers to classroom schema

More fixes to enrollment stats (don't count nonmember prepaids)

Don't use 0 as implicit false for openSpots

Update suggested number of credit to buy automatically

Fix classroom edit form ignoring cleared values

Add alert text when more users selected than enrollments available

Alert user when trying to assign course to unenrolled students

Alert user when assigning course to nobody

Add some tests for TeacherClassView bulk assign alerts

Fix TeacherClassView tests failing without demos

Use model/collection.fakeRequests :D

Remove unused comment

Fix handling of improperly sorted deleted users on clientside

Add test for moving deleted users to deletedMembers

Add script for moving all deleted classroom members to classroom.deletedMembers

Completely rewrite tallying up enrollment statistics

Fix some tests to not be dependent on logged-in user

Address PR comments

Fix default number of enrollments to buy

Fix i18n for not enough enrollments

Use custom error message for classroom name length
2016-04-19 12:32:20 -07:00
Rob
988eeeeb07 Merge branch 'school-complete' 2016-04-18 23:35:50 -07:00
Rob
8d61c4387d Clear NCES data if complete data is manually edited. 2016-04-18 23:33:59 -07:00
Rob
e64d585841 Add extra information when a school is autocompleted. 2016-04-18 22:54:43 -07:00
phoenixeliot
70762f15cc Clear window.me before running tests 2016-04-18 14:32:33 -07:00
edtrist
b63bf06bed Added server error subscription to AuthModal 2016-04-18 02:12:42 +01:00
Catsync
b90f1fb18f Hack to use hero instead of self/this in SpellPalette docs (#3552)
Hack to change SpellPalette docs to use hero instead of self/this
2016-04-16 14:59:18 -07:00
Nick Winter
e3e3807844 Use jQuery version of Algolia autocomplete 2016-04-15 17:48:31 -07:00
Rob
e7356411fb Autocomplete names of schools on quote page. 2016-04-15 14:00:36 -07:00
phoenixeliot
c3da6a23c9 Change isTeacher checks to isSessionless for /play 2016-04-15 10:58:52 -07:00
Rob
ceb64ce9ca Improve verifier. 2016-04-13 16:41:16 -07:00
phoenixeliot
0416528de0 Fix language-getting for next level URL on teacher courses play 2016-04-13 16:32:39 -07:00
Catsync
7ff12f326f Merge pull request #3548 from Catsync/autocomplete-hero
hero autocomplete hack
2016-04-13 14:59:21 -04:00
phoenixeliot
a524256b5b Add sessionless play for Teachers 2016-04-12 19:34:05 -07:00
Nick Winter
a7114a2719 Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
Nick Winter
5949cf51f0 Merge pull request #3513 from UltCombo/beautifier-loop
JS beautifier: fix loop construct, fixes #3510
2016-04-12 17:13:12 -07:00
Cat Sync
fddba4e0ce Hacks autocomplete to use hero instead of self/this
Uses hero instead of self/this if “hero” is already in the code, in
javascript, python, and lua.
2016-04-12 14:31:50 -04:00
Josh Callebaut
6c0823486f Merge pull request #3539 from Zerrien/solutionSchema
Changes terminology to match schema
2016-04-07 15:30:13 -07:00
Josh Callebaut
4275d41324 Changes terminology to match schema 2016-04-07 14:49:55 -07:00
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
Scott Erickson
58a5df7a4f Restrict teacher and student accounts to their respective areas and actions 2016-04-04 15:20:34 -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
43389ac9b6 Merge pull request #3471 from delftswa2016/loggedIn-achievement-error
Error when accessing achievement without being logged in
2016-03-30 09:41:01 -07:00
Rob
e40b952ef2 Do something slightly better for loged in students. 2016-03-29 21:44:59 -07:00
Scott Erickson
996200220f Merge pull request #3508 from codecombat/fix-teacher-quote-scroll
Fix teacher quote page having lots of blank space at the bottom (after submitting the form)
2016-03-28 11:59:56 -07:00
UltCombo
8326b5e182 JS beautifier: fix loop construct, fixes #3510
As JavaScript is the only language supported by the beautifier, and [CodeCombat is in the process of converting things to while (true)](https://github.com/codecombat/codecombat/issues/3510#issuecomment-201965310), I guess adding this quick hack to the view's code should suffice for now. Hopefully, the non-standard `loop` construct will be removed from other languages before they receive beautifier support.

If this doesn't seem good, I can move  this hack to `aether.beautify`, where it is possible to perform this substitution in a language-aware way (i.e. inside Aether's JavaScript implementation's [`beautify` method](418ccf2414/src/languages/javascript.coffee (L137))). Seeing as the `loop` construct is specific to CodeCombat, I'm not sure if that would be a good idea. Passing an options object with a flag to support the `loop` construct seems a bit overkill.

Let me know what works best for you.
2016-03-28 00:00:40 -03:00
Rob Blanckaert
9da65cdcff New homepage variations. 2016-03-25 17:09:58 -07:00
phoenixeliot
8d254c700a Fix teacher quote page having lots of blank space at the bottom.
This is due to "flying-focus" taking up space at the bottom of the page. This solution is a bandaid. Ideally we have view-swapping logic that contains this type of thing and we just swap out views using one function.
2016-03-25 13:57:26 -07:00
Maikel Langezaal
3be8220e0a read only message 2016-03-24 14:10:09 +01:00
Nick Winter
00bd983590 Fix #3387 2016-03-23 15:24:38 -07:00
Matt Lott
50171a5b02 🐛Fix admin trial requests page
Server refactoring exposed incorrect server parameters.
2016-03-21 11:39:15 -07:00
Nick Winter
905c9cdb93 Use victory text and next level data on level completion. Update picoCTF logo. 2016-03-18 14:18:41 -07:00
Scott Erickson
461fb14f37 TestView styling and responsive tweaks 2016-03-18 11:03:55 -07:00
Scott Erickson
2a399e71fa Add CocoView.scrollToTop 2016-03-18 11:03:55 -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
93c7072d8d Refactor ConfirmModal for #3138 and #3488 2016-03-18 11:03:55 -07:00
Matt Lott
255ebbc048 Ads for free campaign players
Display leaderboard ads on campaign and play views.
Do no show ads in classroom, picoCTF, or to teachers.
Add no ads blurb to subscription features matrix.
Scale game UI for ads on short screens.

Closes #3491
2016-03-18 10:29:31 -07:00
Imperadeiro98
e4ab59ef65 Added a diplomat 2016-03-12 14:03:59 +00:00
Scott Erickson
464430200c Fix AccountSettingsView to only try to change permissions in development 2016-03-11 15:00:55 -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
Matt Lott
eb7bebe293 Add DAU 30-day avg and daily total to dashboard 2016-03-08 15:27:57 -08:00
Matt Lott
bce9862be2 Update request demo Ux
Renaming request quote to request demo
Changing create class wording to set up class
Showing different UI if teacher or not
Adding gameplay screenshots to homepage
Update request demo email

Closes #3449
2016-03-08 09:30:50 -08:00
Nick Winter
6a9a36b1eb Don't show misc achievements in picoCTF mode 2016-03-07 09:54:29 -08:00
Nick Winter
1ccad78782 Submit picoCTF solutions, show progress, disable sound 2016-03-04 11:44:43 -08:00
Scott Erickson
a2249f8df1 Add return-to-admin (turn off espionage mode) 2016-03-04 10:43:17 -08:00
Nick Winter
59e8c42ddb Client-side support for beating picoCTF levels 2016-03-03 17:18:24 -08:00
Matt Lott
9e8e865049 Remove old homepage
Turning off homepage a/b testing for now, but leaving the plumbing in
because we’ll be iterating on that shortly.
2016-03-01 09:48:53 -08:00
Matt Lott
2e2bf95ff7 Remove classroom MAUs from KPI graphs
Covered by active classes, and doesn’t make sense to have separate MAU
scales between classroom and campaign.
2016-02-29 13:58:00 -08:00
Matt Lott
e56efe5921 Fix analytics MAUs and campaign paid users 2016-02-28 15:24:35 -08:00
Matt Lott
1f7489970e Remove auto-refresh from subs dashboard 2016-02-26 10:36:04 -08:00
Scott Erickson
b64a212a17 Merge branch 'master' of https://github.com/Imperadeiro98/codecombat into Imperadeiro98-master 2016-02-26 09:38:09 -08:00
Scott Erickson
e7366040f3 Add full screen button to tutorial videos in Safari 2016-02-25 17:13:42 -08:00
Scott Erickson
2a69ca3774 Fix lesson time estimate dropdown in NewHomeView 2016-02-25 16:49:26 -08:00
Scott Erickson
78d221fe4c Refactor AdministerUserModal to use new flat style instead of legacy plain style 2016-02-25 11:49:34 -08:00
Matt Lott
6a48fbb3aa Add courses to progress-reset warning 2016-02-25 10:08:16 -08:00
Imperadeiro98
62c5b34a96 Update About page i18n
Also fixed some images
2016-02-25 15:48:29 +00:00
Scott Erickson
fc800935aa Fix screenshot carousel when focused on the carousel control and pressing arrow keys 2016-02-24 16:55:18 -08:00
phoenixeliot
f1b046b50e Refactor Request Quote page to flat-style 2016-02-24 16:23:21 -08:00
phoenixeliot
4b02f120e2 Add new About page and refactor out flat-style 2016-02-24 16:22:06 -08:00
Imperadeiro98
42f84de394 Merge master branch 2016-02-24 19:40:21 +00:00