def set_based_on_grades(self, grades):
        """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.*

        """
        # Implemented from template for osid.resource.ResourceForm.set_group_template
        if self.get_based_on_grades_metadata().is_read_only():
            raise errors.NoAccess()
        if not self._is_valid_boolean(grades):
            raise errors.InvalidArgument()
        self._my_map['basedOnGrades'] = grades
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.*