@utilities.arguments_not_none<EOL><INDENT>def set_based_on_grades(self, grades):<DEDENT>
<EOL>if self.get_based_on_grades_metadata().is_read_only():<EOL><INDENT>raise errors.NoAccess()<EOL><DEDENT>if not self._is_valid_boolean(grades):<EOL><INDENT>raise errors.InvalidArgument()<EOL><DEDENT>self._my_map['<STR_LIT>'] = grades<EOL>
Sets the grade-based designation.

        arg:    grades (boolean): the grade-based designation
        raise:  InvalidArgument - ``grades`` is invalid
        raise:  NoAccess - ``grades`` cannot be modified
        *compliance: mandatory -- This method must be implemented.*