                 @_update(set:{"#{type}":x}, where:where)
 
         _start_copy: (assignment, student, type) =>
-            console.log("_start_copy")
             if student? and assignment?
                 store = get_store(); student = store.get_student(student); assignment = store.get_assignment(assignment)
                 where = {table:'assignments', assignment_id:assignment.get('assignment_id')}
                 x = syncdb.select_one(where:where)?[type] ? {}
                 y = (x[student.get('student_id')]) ? {}
                 if y.start? and new Date() - y.start <= 15000
-                    console.log("_start_copy: bail")
                     return true  # never retry a copy until at least 15 seconds later.
                 y.start = misc.mswalltime()
                 x[student.get('student_id')] = y
-                console.log("_start_copy: do it")
                 @_update(set:{"#{type}":x}, where:where)
             return false
 

    copy_confirm_all_caution: (step) ->
        switch step
            when 'assignment'
                return "This will re-copy all of the files to them.  CAUTION: if you update a file that a student has also worked on, their work will get copied to a backup file ending in a tilde, or possibly only be available in snapshots."
            when 'collect'
                return "This will re-collect all of the homework from them.  CAUTION: if you have graded/edited a file that a student has updated, you work will get copied to a backup file ending in a tilde, or possibly only be available in snapshots."
            when 'return_graded'
                return "This will re-return all of the graded files to them."

    render_copy_confirm_overwrite_all: (step, status) ->
        <div key="copy_confirm_overwrite_all" style={marginTop:'15px'}>

- [ ] (8:00?) #unclear way to show other viewers that a field is being actively edited by a user (no idea how to do this in react)

DONE:
- [x] (0:45?) (0:20) re-assign/re-copy/re-collect need to have ... and confirm, since they are dangerous.
- [x] (0:45?) (0:55) while doing any of three steps of workflow, set something in database and store, which locks things (with a minute limit and spinner) to prevent double click.
- [x] (0:45?) (2:30) make confirm copies have nice text and look nice
- [x] (0:45?) (0:37) xs mobile assignment looks bad -- need a fullscreen toggle thing.
- [x] (1:00?) (1:17) make it so creating a project does not open it until user explicitly opens it.
