public function get_form_elements_for_user()

in locallib.php [117:171]


    public function get_form_elements_for_user($grade, MoodleQuickForm $mform, stdClass $data, $userid) {
        global $USER, $PAGE;

        // Check to see if one note is disabled site wide.
        if (get_config('local_o365', 'onenote')) {
            return true;
        }

        $gradeid = $grade ? $grade->id : 0;

        try {
            $onenoteapi = \local_onenote\api\base::getinstance();
        } catch (\Exception $e) {
            $html = '<div>'.$e->getMessage().'</div>';
            $mform->addElement('html', $html);
            return false;
        }

        $isteacher = $onenoteapi->is_teacher($this->assignment->get_course_module()->id, $USER->id);

        if (!$isteacher) {
            return false;
        }
        $o = '<hr/><b>'.get_string('onenoteactions', 'assignfeedback_onenote').'</b>&nbsp;&nbsp;&nbsp;&nbsp;';

        if ($onenoteapi->is_logged_in()) {
            // Show a link to open the OneNote page.
            $submission = $this->assignment->get_user_submission($userid, false);
            $o .= $onenoteapi->render_action_button(get_string('addfeedback', 'assignfeedback_onenote'),
                    $this->assignment->get_course_module()->id, true, true,
                    $userid, $submission ? $submission->id : 0, $grade ? $grade->id : null);
            $o .= '<br/><p>' . get_string('addfeedbackhelp', 'assignfeedback_onenote') . '</p>';

            // Show a view all link if the number of files is over this limit.
            $count = $this->count_files($grade->id, \local_onenote\api\base::ASSIGNFEEDBACK_ONENOTE_FILEAREA);
            // Check if feedback is already given.
            if ($count <= \local_onenote\api\base::ASSIGNFEEDBACK_ONENOTE_MAXSUMMARYFILES && $count > 0) {
                $o .= '<button type="submit" class="btn btn-primary" gradeid="'.$grade->id.'" userid="'. $userid;
                $o .= '" contextid="'.$this->assignment->get_context()->id;
                $o .= '" id="deleteuserfeedback"  name="deleteuserfeedback">';
                $o .= get_string('deletefeedbackforuser', 'assignfeedback_onenote').'</button>';
            }

        } else {
            $o .= $onenoteapi->render_signin_widget();
            $o .= '<br/><br/><p>' . get_string('signinhelp1', 'assignfeedback_onenote') . '</p>';
        }

        $o .= '<hr/>';

        $mform->addElement('html', $o);
        $PAGE->requires->js_call_amd('assignfeedback_onenote/onenotedelete', 'init');

        return true;
    }