         @props.flux.getActions(@props.name).copy_assignment_from_all_students(@props.assignment)
 
     render_collect_button: ->
-        <Button onClick={@collect_assignment}>
+        # disable the button if nothing ever assigned
+        <Button onClick={@collect_assignment} disabled={(@props.assignment.get('last_assignment')?.size ? 0) == 0}>
             <Icon name="share-square-o" rotate="180" /> Collect from all...
         </Button>
 
     return_assignment: ->
-        # assign assignment to all (non-deleted) students
+        # Assign assignment to all (non-deleted) students.
         @props.flux.getActions(@props.name).return_assignment_to_all_students(@props.assignment)
 
     render_return_button: ->
-        <Button onClick={@return_assignment}>
+        # Disable the button if nothing ever collected.
+        <Button onClick={@return_assignment} disabled={(@props.assignment.get('last_collect')?.size ? 0) == 0}>
             <Icon name="share-square-o" /> Return to all...
         </Button>
 

    copy: (type, assignment_id, student_id) ->
        @props.flux.getActions(@props.name).copy_assignment(type, assignment_id, student_id)

    render_last: (name, obj, type, info) ->
        open = => @open(type, info.assignment_id, info.student_id)
        copy = => @copy(type, info.assignment_id, info.student_id)
        v = [<span key='name'>{name+': '}</span>]

- [x] (0:45?) (0:20)  counter for each page heading (num students, num assignments)
- [x] (2:00?) (0:59) links to grade each student; buttons to assign to one student, collect from one, etc.
- [x] (1:30?) (1:03) display info about each student when they are clicked on (in students page) -- ugly but nicely refactored

###

# standard non-SMC libraries
