Commit graph

32 commits

Author SHA1 Message Date
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
0ed99565d3 Make delighted profiles for teachers only, instead of all users 2016-05-06 12:45:11 -07:00
Scott Erickson
93f940e196 Refactor, spec and fix GET /healthcheck
For #3469
2016-05-05 13:11:39 -07:00
Scott Erickson
b125f9b2fa Refactor rest of /db/campaign routes
For #3469
2016-05-05 13:11:39 -07:00
Scott Erickson
3ea562780d Fix /db/trial.request to handle when there is no req.user 2016-05-03 14:54:35 -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
Scott Erickson
edea13483a Fix classroom courses temporary population
Can't count on toObject getting called, such as on the '/db/classroom/:handle/levels', which
gets the courses property directly. Use middleware instead.
2016-04-27 13:19:41 -07:00
Scott Erickson
675e3290ac Lock course content to classrooms 2016-04-27 09:58:04 -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
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
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
Scott Erickson
bd6a266f60 Refactor POST /db/classroom and PUT /db/campaign/:handle and their tests for #3469 2016-04-13 11:39:29 -07:00
phoenixeliot
61dd93917c Improve password reset email, make a sendwithus template for it 2016-04-12 13:28:38 -07:00
Scott Erickson
f1f1c23fd4 Refactor /auth endpoints for #3469
* Take `/server/routes/auth` and move most of the logic to `/server/middleware/auth`, refactoring to use generators.
* List all `/auth/*` endpoints in `/server/routes/index.coffee`.
* Fill in testing gaps for `/auth/unsubscribe`.
* Add debug log when `sendwithus` is not operational, so it 'works' in development and testing.
* Use passport properly!
* Track Facebook and G+ logins in user activity as well as passport logins.
2016-04-12 12:07:11 -07:00
Scott Erickson
b33620779d Refactor achievement handler for #3469 2016-04-11 12:00:22 -07:00
Matt Lott
ece3c6f19d Clean up server Slack messages 2016-04-08 09:24:38 -07:00
Scott Erickson
c3e5416166 Refactor server models into /server/models, remove request and mongoose from test globals 2016-04-06 16:06:52 -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
Matt Lott
f53d46cb90 🐛Fix missing User reference in trial-requests 2016-03-22 13:57:04 -07:00
Matt Lott
feeabf4f08 Turn off server Slack message unfurling
Also cleaning up some message URL formatting.
2016-03-22 09:51:18 -07:00
Matt Lott
3dd322986a Update Slack message destinations
Using ops and dev-feed more, reducing noise on general.
2016-03-21 05:36:44 -07:00
Matt Lott
5d71acba05 Replace HipChat with Slack 2016-03-18 17:05:21 -07:00
Scott Erickson
f21baa7af5 Migrate /db/trial.request for #3469 2016-03-18 11:03:55 -07:00
Scott Erickson
ebc98f988f Refactor CreateAccountModal out of AuthModal, add class code to signup 2016-03-10 10:52:11 -08:00
Scott Erickson
a2249f8df1 Add return-to-admin (turn off espionage mode) 2016-03-04 10:43:17 -08:00
Scott Erickson
ad78f64b31 Add mongoose require to named middleware 2016-02-25 10:39:10 -08:00
Scott Erickson
7749f9cc0a Refactor out promisifyAll, use Mongoose's promises and promisify 2016-02-22 16:03:21 -08:00
Scott Erickson
becad06750 Refactor ArticleEditView and PatchesView to use model endpoint functions 2016-02-22 16:03:21 -08:00
Scott Erickson
7fb08f343a Refactor /db/article to use generators 2016-02-22 16:03:21 -08:00