mattdrayer/api-proficiency-redux: New StudentGradebook

@chrisndodge @martynjames @ormsbee @ziafazal -- complete rework of "proficiency" with the introduction of a new 'gradebook' app.  

Essentially, 'proficiency' as a concept is no more -- we simply have 'grades' -- you'll see the leaders list is maintained although there are some slight schema changes as well as URI changes which will require corresponding updates in Apros.  These changes are most-easily reviewed in this PR by looking at the response_data elements returned by the modified views.

The seed script is not included here at the moment -- I'll be adding it either to this PR or in a follow-on PR in the next couple of days.  I'm really just looking for feedback and hopefully a thumbs-up that the logic/math are sound and that all of Apros' needs are met with the updated (smaller) API.
Agree, but I'm not sure we have the celery infrastructure build out right now. I'll ping Fred on this.

Sent from my iPhone

On Sep 5, 2014, at 6:33 PM, David Ormsbee <notifications@github.com> wrote:

> In lms/djangoapps/gradebook/receivers.py:
> 
> > +from courseware.views import get_course
> > +from courseware.signals import score_changed
> > +from courseware.models import StudentModule
> > +
> > +from models import StudentGradebook
> > +
> > +@receiver(score_changed, sender=StudentModule)
> > +def on_score_changed(sender, **kwargs):
> > +    """
> > +    """
> > +    user = kwargs['user']
> > +    course_key = kwargs['course_key']
> > +    course_descriptor = get_course(course_key, depth=None)
> > +    request = RequestMock().get('/')
> > +    request.user = user
> > +    grade_data = grades.grade(user, request, course_descriptor)
> So I know I've harped on this before, so I'll let it go after this -- but moving this to a celery task or something else asynchronous would make me feel much more at ease.
> 
> —
> Reply to this email directly or view it on GitHub.