def set_up_flow_session_page_data(repo, flow_session, course_identifier, flow_desc, commit_sha): from course.models import FlowPageData data = None ordinal = 0 for grp in flow_desc.groups: for page_desc in grp.pages: data = FlowPageData() data.flow_session = flow_session data.ordinal = ordinal data.is_last = False data.group_id = grp.id data.page_id = page_desc.id page = instantiate_flow_page( "course '%s', flow '%s', page '%s/%s'" % (course_identifier, flow_session.flow_id, grp.id, page_desc.id), repo, page_desc, commit_sha) data.data = page.make_page_data() data.save() ordinal += 1 return ordinal
def create_fpd(new_page_desc): page = instantiate_page(new_page_desc) data = page.make_page_data() return FlowPageData(flow_session=flow_session, ordinal=None, page_type=new_page_desc.type, group_id=grp.id, page_id=new_page_desc.id, data=data, title=page.title(pctx, data))
def create_fpd(new_page_desc): page = instantiate_flow_page( "course '%s', flow '%s', page '%s/%s'" % (course_identifier, flow_session.flow_id, grp.id, new_page_desc.id), repo, new_page_desc, commit_sha) return FlowPageData(flow_session=flow_session, group_id=grp.id, page_id=new_page_desc.id, ordinal=None, data=page.make_page_data())
def create_fpd(new_page_desc): page = instantiate_page(new_page_desc) data = page.make_page_data() return FlowPageData( flow_session=flow_session, ordinal=None, page_type=new_page_desc.type, group_id=grp.id, page_id=new_page_desc.id, data=data, title=page.title(pctx, data))
def create_fpd(new_page_desc): page = instantiate_flow_page( "course '%s', flow '%s', page '%s/%s'" % (course_identifier, flow_session.flow_id, grp.id, new_page_desc.id), repo, new_page_desc, commit_sha) return FlowPageData( flow_session=flow_session, group_id=grp.id, page_id=new_page_desc.id, ordinal=None, data=page.make_page_data())
def adjust_flow_session_page_data(repo, flow_session, course_identifier, flow_desc, commit_sha): from course.models import FlowPageData id_to_existing_page = { (data.group_id, data.page_id): data for data in FlowPageData.objects.filter(flow_session=flow_session) } data = None ordinal = 0 for grp in flow_desc.groups: for page_desc in grp.pages: key = (grp.id, page_desc.id) if key in id_to_existing_page: data = id_to_existing_page.pop(key) if data.ordinal != ordinal: data.ordinal = ordinal data.save() else: data = FlowPageData() data.flow_session = flow_session data.ordinal = ordinal data.group_id = grp.id data.page_id = page_desc.id page = instantiate_flow_page( "course '%s', flow '%s', page '%s/%s'" % (course_identifier, flow_session.flow_id, grp.id, page_desc.id), repo, page_desc, commit_sha) data.data = page.make_page_data() data.save() ordinal += 1 for data in id_to_existing_page.values(): if data.ordinal is not None: data.ordinal = None data.save() if flow_session.page_count != ordinal: flow_session.page_count = ordinal flow_session.save()