예제 #1
0
def remove_course_updates(user, course):
    """
    Remove any course updates in the specified course.
    """
    updates_usage_key = get_course_info_usage_key(course, 'updates')
    try:
        course_updates = modulestore().get_item(updates_usage_key)
        modulestore().delete_item(course_updates.location, user.id)
    except (ItemNotFoundError, ValueError):
        pass
예제 #2
0
def create_course_updates_block(course, user):
    """
    Create a course updates block.
    """
    updates_usage_key = get_course_info_usage_key(course, 'updates')
    course_updates = modulestore().create_item(
        user.id,
        updates_usage_key.course_key,
        updates_usage_key.block_type,
        block_id=updates_usage_key.block_id)
    course_updates.data = ''
    return course_updates
예제 #3
0
 def create_course_updates_block(self, course=None, user=None):
     """Create a course updates block."""
     user = user or self.user
     course = course or self.course
     updates_usage_key = get_course_info_usage_key(course, 'updates')
     course_updates = modulestore().create_item(
         user.id,
         updates_usage_key.course_key,
         updates_usage_key.block_type,
         block_id=updates_usage_key.block_id)
     course_updates.data = ''
     return course_updates
예제 #4
0
def create_course_update(course, user, content, date='December 31, 1999'):
    """
    Creates a test welcome message for the specified course.
    """
    updates_usage_key = get_course_info_usage_key(course, 'updates')
    try:
        course_updates = modulestore().get_item(updates_usage_key)
    except ItemNotFoundError:
        course_updates = create_course_updates_block(course, user)
    course_updates.items.append({
        "id": len(course_updates.items) + 1,
        "date": date,
        "content": content,
        "status": STATUS_VISIBLE
    })
    modulestore().update_item(course_updates, user.id)
예제 #5
0
 def edit_course_update(self,
                        index,
                        content=None,
                        course=None,
                        user=None,
                        date=None,
                        deleted=None):
     """Edits a course update item. Only changes explicitly provided parameters."""
     user = user or self.user
     course = course or self.course
     updates_usage_key = get_course_info_usage_key(course, 'updates')
     course_updates = modulestore().get_item(updates_usage_key)
     for item in course_updates.items:
         if item['id'] == index:
             if date is not None:
                 item['date'] = date
             if content is not None:
                 item['content'] = content
             if deleted is not None:
                 item['status'] = 'deleted' if deleted else 'visible'
             break
     modulestore().update_item(course_updates, user.id)
예제 #6
0
 def create_course_update(self,
                          content,
                          course=None,
                          user=None,
                          date='December 31, 1999',
                          deleted=False):
     """Creates a test welcome message for the specified course."""
     user = user or self.user
     course = course or self.course
     updates_usage_key = get_course_info_usage_key(course, 'updates')
     try:
         course_updates = modulestore().get_item(updates_usage_key)
     except ItemNotFoundError:
         course_updates = self.create_course_updates_block(course=course,
                                                           user=user)
     item = {
         'id': len(course_updates.items) + 1,
         'date': date,
         'content': content,
         'status': 'deleted' if deleted else 'visible',
     }
     course_updates.items.append(item)
     modulestore().update_item(course_updates, user.id)
     return item