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
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
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
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)
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)
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