Example #1
0
def delete_section_helper(section_id):
    student_section_manager = StudentSectionRequestManager(Repository(sqldb()))
    student_section_manager.delete(data={"section_id": section_id})
    # Delete section
    r_manager = SectionRequestManager(Repository(sqldb()))
    section_success = r_manager.delete(data={"section_id": section_id})
    return section_success
Example #2
0
def create_course():
    success = "Course Creation Failed"
    if request.method == 'POST':
        cleaned_data = clean_data(request)
        r_manager = CourseRequestManager(Repository(sqldb()))
        # Separate the data into course and section part
        course_data = {}
        section_data = {}
        for key, value in cleaned_data.items():
            if key.startswith("courses"):
                course_data[key] = value
            else:
                section_data[key] = value
        # Add course first
        course_success = r_manager.add(course_data)
        if course_success:
            # Get the course_id
            course_results, course_field_names = r_manager.read(
                criteria=course_data)
            course_info = convert_sql(course_results, course_field_names)
            course_id = course_info[0]["course_id"]
            section_data["course_id"] = course_id
            # add the section to the course
            section_manager = SectionRequestManager(Repository(sqldb()))
            section_success = section_manager.add(section_data)
            if section_success:
                success = "HOORAY! Course and Section Successfully Created"
            else:
                r_manager.delete(course_data)
                success = "Section Creation Failed, Course Deleted"
    return {'success': success}
Example #3
0
def delete_section():
    success = "Section Deletion Failed"
    if request.method == 'POST':
        cleaned_data = clean_data(request)
        section_id = cleaned_data["section_id"]
        #Find course id of that section
        r_manager = SectionRequestManager(Repository(sqldb()))
        results, fieldnames = r_manager.read(
            criteria={"sections.section_id": section_id})
        course_id = results[0][0]
        # TO DO: delete labs associated with session
        # Delete all students associated with sections
        section_id = cleaned_data["section_id"]
        section_success = delete_section_helper(section_id=section_id)

        if section_success:
            success = "Section Delete Succeeded!"
            # delete all sections related to that course
            results, fieldnames = r_manager.read(
                criteria={"sections.course_id": course_id})
            if len(results) > 0:
                for section in results:
                    secion_id = section[5]
                    delete_section_helper(section_id=section_id)
                success = "Section Delete Succeeded! Also deleted the course"
    return {'success': success}
Example #4
0
def delete_course():
    success = "Course Deletion Failed"
    if request.method == 'POST':
        cleaned_data = clean_data(request)
        # Find all sections associated with the course_id
        course_id = cleaned_data["course_id"]
        section_manager = SectionRequestManager(Repository(sqldb()))
        section_results, field_names = section_manager.read(
            criteria={"sections.course_id": course_id})
        # Delete all sections
        for section in section_results:
            section_id = section[5]
            delete_section_helper(section_id=section_id)
        # Delete the Course
        r_manager = CourseRequestManager(Repository(sqldb()))
        course_success = r_manager.delete(data=cleaned_data)
        if course_success:
            success = "Course Delete Succeeded!"
    return {'success': success}
Example #5
0
def get_course():
    rv_final = jsonify({})
    if request.method == 'POST':
        cleaned_data = clean_data(request)
        r_manager = SectionRequestManager(Repository(sqldb()))
        results, field_names = r_manager.read(cleaned_data)
        if results:
            rv = convert_sql(results, field_names)
            rv_final = jsonify(rv)
    return rv_final
Example #6
0
def update_section():
    success = "Section Modification Failed"
    if request.method == 'POST':
        cleaned_data = clean_data(request)
        section_id = cleaned_data["section_id"]
        del cleaned_data["section_id"]
        r_manager = SectionRequestManager(Repository(sqldb()))
        course_success = r_manager.modify(new_data=cleaned_data,
                                          section_id=section_id)
        if course_success:
            success = "Section Modification Succeeded!"
    return {'success': success}