Ejemplo n.º 1
0
def dismiss_welcome_message(request, course_id):
    """
    Given the course_id in the request, disable displaying the welcome message for the user.
    """
    course_key = CourseKey.from_string(course_id)
    course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True)
    dismiss_current_update_for_user(request, course)
    return HttpResponse()
 def test_get_current_update_when_dismissed_but_edited(self):
     """Tests that a dismissed but edited update is returned."""
     self.create_course_update('Original')
     dismiss_current_update_for_user(self.request, self.course)
     assert get_current_update_for_user(self.request, self.course) is None
     self.edit_course_update(1, content='Edited')
     assert get_current_update_for_user(self.request,
                                        self.course) is not None
    def test_dismissal_hashing(self):
        """Confirm that the stored dismissal values are what we expect, to catch accidentally changing formats."""
        self.create_course_update('First')
        dismiss_current_update_for_user(self.request, self.course)
        self.create_course_update('Second')
        dismiss_current_update_for_user(self.request, self.course)

        tag = get_course_tag(self.user, self.course.id, self.UPDATES_TAG)
        assert tag == '7fb55ed0b7a30342ba6da306428cae04,c22cf8376b1893dcfcef0649fe1a7d87'
Ejemplo n.º 4
0
def dismiss_welcome_message(request):
    course_id = request.data.get('course_id', None)

    # If body doesn't contain 'course_id', return 400 to client.
    if not course_id:
        raise ParseError(_("'course_id' is required."))

    # If body contains params other than 'course_id', return 400 to client.
    if len(request.data) > 1:
        raise ParseError(_("Only 'course_id' is expected."))

    try:
        course_key = CourseKey.from_string(course_id)
        course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True)
        dismiss_current_update_for_user(request, course)
        return Response({'message': _('Welcome message successfully dismissed.')})
    except Exception:
        raise UnableToDismissWelcomeMessage
    def test_get_current_update_remembers_dismissals(self):
        """Tests that older dismissed updates are remembered."""
        self.create_course_update('First')
        self.create_course_update('Second')
        dismiss_current_update_for_user(self.request, self.course)
        self.create_course_update('Third')
        dismiss_current_update_for_user(self.request, self.course)
        self.create_course_update('Fourth')

        assert get_current_update_for_user(self.request,
                                           self.course) == 'Fourth'
        self.edit_course_update(4, deleted=True)
        assert get_current_update_for_user(self.request, self.course) is None
        self.edit_course_update(3, deleted=True)
        assert get_current_update_for_user(self.request, self.course) is None
        self.edit_course_update(2, deleted=True)
        assert get_current_update_for_user(self.request,
                                           self.course) == 'First'
Ejemplo n.º 6
0
 def test_get_current_update_when_dismissed(self):
     """Tests that a dismissed update is not returned."""
     self.create_course_update('Dismissed')
     dismiss_current_update_for_user(self.request, self.course)
     self.assertIsNone(
         get_current_update_for_user(self.request, self.course))
Ejemplo n.º 7
0
 def test_ordered_update_includes_dismissed_updates(self):
     """Ordered update list should still have dismissed updates."""
     self.create_course_update('Dismissed')
     dismiss_current_update_for_user(self.request, self.course)
     updates = get_ordered_updates(self.request, self.course)
     self.assertEqual(len(updates), 1)