 - [x] (1:00?) (1:21) add assignment
 - [x] (1:30?) (0:27) render assignment row; search assignments
 
-- [ ] (1:30?) #now assign all... (etc.) button/menu
-- [ ] (1:30?) collect all... (etc.) button/menu
-- [ ] (1:00?) return graded button
+- [x] (1:30?) #now (4:00+) assign all... (etc.) buttons
+- [ ] (1:30?) collect all... (etc.) buttons
+- [ ] (1:00?) return graded buttons
 
 ---
 

            syncdb.save()

        # Student projects
        create_student_project: (student_id, cb) =>
            if not store.state.students? or not store.state.settings?
                @set_error("attempt to create when stores not yet initialized")
                cb?()
                return
            @_update(set:{create_project:new Date()}, where:{table:'students',student_id:student_id})
            # Create the project
            flux.getActions('projects').create_project
                title       : store.state.settings.get('title')
                description : store.state.settings.get('description')
                cb          : (err, project_id) =>
                    if err
                        @set_error("error creating student project -- #{err}")
                        cb?(err)


        _set_to: (payload) => @setState(payload)

        get_activity: => @state.activity

        get_students: => @state.students

        get_student_name: (student) =>
            if typeof(student) == 'string' # id of a student
                student = @get_student(student)
            if not student?
                return 'student'
            return user_store.get_name(student.get('account_id')) ? student.get('email_address') ? 'student'

        get_student_ids: (opts) =>
            opts = defaults opts,
