Commit graph

1343 commits

Author SHA1 Message Date
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
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
8df6a182e8 Further changes on the 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
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
4ccf29a7f9 clean up achievements.sass 2016-05-17 11:08:28 +07:00
Scott Erickson
0770a61534 Merge pull request #3608 from duybkict/fix-1874
fix issue #1874
2016-05-12 09:11:39 -07:00
Matt Lott
8bc9cd5ee6 Admin teacher demo requests page
Incoming rates table
Student counts table
2016-05-11 11:52:32 -07:00
duybkict
8deb172b63 remove unused sass files 2016-05-11 16:49:09 +07:00
duybkict
dedc13f749 fix issue #1874 2016-05-07 04:12:54 +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
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
390ae8fa2c reverted unnecessary change in original file 2016-05-04 16:02:15 +02:00
Marvellanius
cef1f95a5a add dutch localisation to payment
add dutch localisation static files
2016-05-04 15:38:33 +02:00
Marvellanius
edaa04f7c9 make buy-gems-model wider 2016-05-04 15:34:38 +02:00
Nick Winter
074610095d Make room for inventory play button on short screens 2016-05-02 15:06:19 -07:00
phoenixeliot
2f63c11024 Fix padding-top for level-loading-goals 2016-04-28 16:36:30 -07:00
Scott Erickson
3fed1743fc Flatten /courses 2016-04-28 12:08:31 -07:00
Rob
31495208bf Add border to birthday selector to match style. 2016-04-28 11:29:05 -07:00
phoenixeliot
08986ffd37 Reposition continue button to always be visible (ShareProgressModal) 2016-04-28 11:09:44 -07:00
Rob
f39cac3abf Try to keep learn more above the fold. 2016-04-28 10:52:37 -07:00
Scott Erickson
7788608d2d Navbars collapse below large screen sizes 2016-04-27 16:07:55 -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
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
UltCombo
304cdc1113 Update subscribe modal's style to support i18n, fixes #3526
Subscribe modal: make the "parent" and "sale" buttons take only as much space as necessary and the "subscribe" button takes all the remaining space, this fixes #3526.

Here's how the new style looks:

### Before
![](http://i.imgur.com/uwt9Jed.png)
![](http://i.imgur.com/1VKdJjZ.png)

### After
![](http://i.imgur.com/2ElCHMT.png)
![](http://i.imgur.com/G4EAi1P.png)
2016-04-23 19:11:54 -03: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
e7356411fb Autocomplete names of schools on quote page. 2016-04-15 14:00:36 -07:00
phoenixeliot
a524256b5b Add sessionless play for Teachers 2016-04-12 19:34:05 -07:00
Matt Lott
49e7506c62 Add parental leave benefits to /about page 2016-04-05 10:14:54 -07:00
Matt Lott
133574356a Update /about page
Removing sales positions, adding marketing position
Updating benefits list
2016-04-05 06:29:03 -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
6e16248cd8 Merge pull request #3509 from codecombat/header-avatar
Add small avatar to header
2016-03-28 11:17:58 -07:00
Rob Blanckaert
9da65cdcff New homepage variations. 2016-03-25 17:09:58 -07:00
phoenixeliot
0355ea3e1a Add small avatar to header 2016-03-25 16:25:51 -07:00
Nick Winter
00bd983590 Fix #3387 2016-03-23 15:24:38 -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
Nick Winter
13928884b0 Merge iDEAL link for nl on home 2016-03-18 11:16:28 -07:00
Nick Winter
4a737d3045 Merge iDEAL link for nl on home 2016-03-18 11:14:10 -07:00
Scott Erickson
461fb14f37 TestView styling and responsive tweaks 2016-03-18 11:03:55 -07:00
Scott Erickson
ecfb148b3c Add spacing classes to style-flat 2016-03-18 11:03:55 -07:00
Scott Erickson
356523dd4b Add .btn-burgandy 2016-03-18 11:03:54 -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
Nick Winter
ab29f7e10e Don't try to use Arvo for Cyrillic language headline fonts 2016-03-15 10:15:16 -07:00
Jacob Boon
ce8f7f2c14 include iDeal offer for Dutch (nl) users 2016-03-14 16:39:16 +01:00
Yu Liang
3dfb0c04b8 add margin-left for id 'create-account-btn' 2016-03-13 16:36:36 +01:00
yuliang123
c875c8c5ec fix misaligned login 2016-03-13 00:22:19 +01:00
Scott Erickson
ebc98f988f Refactor CreateAccountModal out of AuthModal, add class code to signup 2016-03-10 10:52:11 -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
Scott Erickson
43a659ea80 Add styling for modal-base-flat 2016-02-25 15:15:15 -08:00
phoenixeliot
10e03c87c1 Fix style-flat color, .text-h1/2/etc style 2016-02-25 13:22:41 -08:00
Scott Erickson
8b22b78f74 Add style-flat base
To create a modal with the flat style, just use modal-base-flat instead of modal-base
2016-02-25 11:40:27 -08:00
phoenixeliot
401c185108 Improve responsiveness on fixed nav 2016-02-25 09:25:13 -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
Scott Erickson
3c3db79ac1 Fix #3388
Overflow: hidden was cutting of info in the play view. Without it in the new home page, though,
infinite banners would expand the size of the page. Tried figuring out a way to not make the new
page require hiding overflow but found no obvious solution. Pages with infinite banners will
just need to be set to overflow: hidden individually.
2016-02-22 11:12:19 -08:00
Matt Lott
cac9a7463f Dashboard monthly revenue counts, and tabs 2016-02-20 17:27:45 -08:00
Nick Winter
b5bb662ed2 Add picoCTF problem descriptions to levels; streamline picoCTF flows more 2016-02-17 11:33:56 -08:00
Scott Erickson
c8551a6382 Make new home page responsive 2016-02-17 11:05:20 -08:00
Nick Winter
fe351be32e Start to rework CampaignView when we're in picoCTF mode 2016-02-16 20:39:59 -08:00
Matt Lott
73657d5428 Update analytics dashboard
Splitting out classroom and campaign active users
Adding more detailed active users graphs
Patching up missing analytics log events for 2/2/16-2/9/16
2016-02-16 09:23:42 -08:00
Scott Erickson
902c39ffb1 Use default scrollbar for pages 2016-02-05 13:28:10 -08:00
Scott Erickson
b91299a59f New home page tweaks 2016-02-03 10:59:54 -08:00
Scott Erickson
9e38587719 Do not hide teacher note for small screens, add close link 2016-02-03 10:10:43 -08:00
Scott Erickson
0e7e9aad39 Add new home page with test 2016-02-02 15:12:37 -08:00
Scott Erickson
5fffb2eefb Remove TeachersFreeTrialView 2016-02-01 10:40:22 -08:00
Josh Callebaut
14ef28b658 Merge pull request #3369 from Zerrien/master
Editor Changes (Task tab, pre-initialize tasks, Artisan nurturing, level submission)
2016-01-29 09:42:04 -08:00
Scott Erickson
e62e497543 Replace TeachersFreeTrialView with RequestQuoteView 2016-01-28 17:21:36 -08:00
Josh Callebaut
8347c8247f Merge branch 'master' of https://github.com/codecombat/codecombat 2016-01-28 13:57:56 -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
57cf264880 Add img-prize, label-banner and well-parchment to design elements 2016-01-25 13:03:29 -08:00
Josh Callebaut
aea23072e3 Fix #3348 - don't display score button for levels without a score type 2016-01-22 11:27:38 -08:00
Josh Callebaut
ab93dc8564 Bug fixes and style fixes. 2016-01-21 12:14:37 -08:00
Josh Callebaut
c28720c640 Implements fixes based on code review. 2016-01-20 15:32:21 -08:00
Scott Erickson
491a679abb Merge pull request #3327 from Imperadeiro98/master
Cleaned couple files
2016-01-18 15:35:59 -08:00
Daniel Fiore
39b42fe363 Fix level list highlighted levels
The Level Editor level list now highlights the row in which you are the
person who last saved the level. The level list now also displays
glyphicons to indicate watched/unwatched levels.
2016-01-16 15:05:54 -08:00
Imperadeiro98
f47640e59a Cleaned couple files
Removed some unused styles, a template, a view and changed the class
name of some views
2016-01-16 12:07:15 +00:00
Josh Callebaut
14c2942134 Moves Tasks to their own tab and adds a guide-book icon next to the save icon which displays help and doubles as a level review submission modal. 2016-01-13 15:54:57 -08:00
Robin Yang
95a996af07 Cleaned up teacher testimonial area
Fixed quote per teacher (Tim M.)’s request, added Twitter link

Adjusted font sizing and positioning on quotes.

Added smart (curly) quotes instead of straight quotes.
2016-01-12 12:19:48 -08:00
Matt Lott
213f3edd0d Update /about team section 2016-01-08 10:25:21 -08:00
Rob
3baea9683c Additional java support. 2016-01-04 16:41:24 -08:00
Nick Winter
3be6abf2e1 Merge Router.coffee 2015-12-23 08:23:23 -08:00
Matt Lott
68aae0d4e0 Update /courses/teachers active courses styling 2015-12-21 16:18:01 -08:00
Josh Callebaut
314f8256ee Improves style further. 2015-12-21 15:42:46 -08:00
Matt Lott
bde8e6721c Add enroll students button to /courses/teachers 2015-12-21 15:04:21 -08:00
Matt Lott
d782eb174e Fix /schools big quote location 2015-12-21 14:09:57 -08:00
Nick Winter
2adb255a48 Merge pull request #3275 from taptapdan/fix-issue-3243
Fix achievements notifications animation
2015-12-21 13:32:44 -08:00
Josh Callebaut
9ba9d8ab4d Style guide fixes. 2015-12-21 12:51:29 -08:00
Josh Callebaut
79ff058117 Adds the Thang Task View. 2015-12-21 12:44:22 -08:00
Matt Lott
348e0407bc Update /schools copy and fonts 2015-12-21 12:39:59 -08:00
Daniel Fiore
25531477c5 Fix achievements notifications animation
This fixes #3243. Achievement notification animation now slides in from
off-screen left and then hides back to off-screen left.
2015-12-20 22:28:09 -08:00
Scott Erickson
079109145f Cull recruiting views and translations 2015-12-18 10:34:21 -08:00
Matt Lott
28c554295c Remove homepage HoC section 2015-12-18 05:15:04 -08:00
Scott Erickson
ef3f847932 Remove SubscriptionSaleView 2015-12-16 16:39:44 -08:00
Nick Winter
0eecda7b40 Fix logged-in /schools call to action 2015-12-16 16:39:44 -08:00
Matt Lott
d369c0b47c Update /schools contact us button styling 2015-12-16 16:39:43 -08:00
Matt Lott
8837d042ab Update /schools fonts 2015-12-16 16:39:43 -08:00
Matt Lott
646aa56716 /schools page 2015-12-16 16:39:43 -08:00
Barry
3db216a341 Fetched from master repo 2015-12-10 19:25:42 -05:00
Imperadeiro98
b0a1334eec Removed play-level-modal
I think it is no longer used
2015-12-07 21:36:50 +00:00
Matt Lott
4ffe9a5035 Update /courses fwd/back links to be more consistent
Teachers, click here! is bit bigger.
2015-12-07 11:11:11 -08:00
Matt Lott
13c75b3f1f Condense class student progress list 2015-12-06 20:35:54 -08:00
Barry
3ef2be1a42 0px bottom margin on panel 2015-12-06 18:36:54 -05:00
Barry
74f692072e Started repositioning buttons.Can't remove box-shadow from panel 2015-12-06 18:07:41 -05:00
Matt Lott
66f434adba Update class progress colors 2015-12-06 15:00:00 -08:00
Matt Lott
cb4d8fee8c Update /courses/purchase visuals 2015-12-06 14:26:35 -08:00
Matt Lott
45418dbfe3 Update /courses/purchase copy 2015-12-06 07:28:16 -08:00
Matt Lott
e5af4d857d Update class management enroll and assign button copy 2015-12-05 19:10:46 -08:00
Scott Erickson
8d70b5d53f Remove course mocks 2015-12-04 09:29:14 -08:00
Matt Lott
c610ce6ffd Remove progress tab from course details view 2015-12-03 16:25:33 -08:00
Scott Erickson
3ac8f16d28 Fix ClassroomView sparse progress handling 2015-12-03 13:32:22 -08:00
Scott Erickson
3fefdfa0a7 Add student total playtime to ClassroomView 2015-12-03 12:29:30 -08:00
Scott Erickson
1df87fa685 Add detailed progress and links to ClassroomView 2015-12-03 12:10:08 -08:00
Matt Lott
e2b2a6d396 Update /teachers 2015-12-02 15:19:52 -08:00
Scott Erickson
a201200636 Tweak /courses/teachers image styling 2015-12-02 15:08:58 -08:00
Scott Erickson
f43c3b0160 Add language icons to choose language modal 2015-12-02 14:37:09 -08:00
Scott Erickson
7f2ddba089 Add remove student modal to ClassroomView 2015-12-02 11:56:38 -08:00
Nick Winter
a0e5126ab7 Prompt for school name on course completion 2015-12-02 10:59:55 -08:00
Nick Winter
0d65d73024 Finish merging master into courses-vhoc 2015-12-02 10:10:50 -08:00
Nick Winter
c77e1c0fa2 Add course complete visual state for student CourseDetailsView
Also including a few misc tweaks to CourseDetailsView and the end-of-course HeroVictoryModal state.
2015-12-02 09:52:52 -08:00
Nick Winter
88ee363576 Add schoolName field to AuthModal 2015-12-01 17:44:03 -08:00
Matt Lott
93010f771a Update available courses screenshots 2015-12-01 17:32:32 -08:00
Nick Winter
26e321d9e7 Add schoolName field to StudentSignupModal 2015-12-01 17:32:24 -08:00
Nick Winter
8e1143b519 Add schoolName field to AuthModal 2015-12-01 17:32:02 -08:00
Matt Lott
dcf1961b9d Widen invite classroom modal for URL 2015-12-01 13:41:45 -08:00
Scott Erickson
cbdef392c5 Add invite modal to ClassroomView 2015-12-01 15:17:21 -06:00
Nick Winter
6b1c859e91 Preserve SuperModel when navigating between course levels 2015-12-01 12:23:01 -08:00
Nick Winter
ae6eca583a Present 'Play Classroom Version' before playing a campaign level when appropriate 2015-12-01 11:24:16 -08:00
Matt Lott
6418562ba2 /courses/teachers screenshot duration stars 2015-12-01 07:01:17 -08:00
Matt Lott
7efb3518a6 /courses/teachers free ribbon 2015-12-01 06:13:52 -08:00
Matt Lott
29fcbd86c4 Update /courses/teachers concept style 2015-11-30 16:53:11 -08:00
Nick Winter
851e3a092e Play button goes to /courses if that's all the player has played 2015-11-30 16:43:33 -08:00
Matt Lott
6de5a6b773 Update /courses/teachers
Rearrange available courses section to be closer to latest visual
design.
2015-11-30 16:40:14 -08:00
Nick Winter
3a4c8d40f6 Made LadderPlayModal buttons look more like buttons with a tasteful giant animated box-shadow 2015-11-30 15:07:01 -08:00
Nick Winter
22af180a86 Move gold display to DuelStatsView for Wakka Maul and remove army power display for non-army ladders 2015-11-30 14:58:36 -08:00
Matt Lott
e8fc90de23 Update /courses/teachers
Still incomplete: edit class modal, create new class modal, updated
available courses list UI
2015-11-30 14:39:46 -08:00
Nick Winter
cc3a62febd Fix loss of editor focus when clicking error messages and property docs popovers 2015-11-30 14:18:42 -08:00
Scott Erickson
5e733d1517 Add ActivateLicensesModal to ClassroomView 2015-11-30 16:59:22 -05:00
Nick Winter
8fd47535d1 Put video into its own guide tab, fix intro tabs 2015-11-30 13:54:13 -08:00
Nick Winter
26be2842ed Don't highlight Done button as much until winning replay has finished 2015-11-30 11:34:47 -08:00
Scott Erickson
0c45e3f96c Add ClassroomView, incomplete 2015-11-30 14:14:27 -05:00
Scott Erickson
11e9a40645 Finish hooking up ChangeCourseLanguageModal into /courses 2015-11-29 18:25:57 -05:00