Ejemplo n.º 1
0
def update_student(table):
    '''
    Users can update the details of existing students by first entering their ID and then the information (name, age) to be updated.
    IDs cannot be updated.

    '''
    student_id=0
    searched_id=ui.user_inputs(["ID"])
    to_update_index=None

    for row in range(len(table)):
        if table[row][student_id]==searched_id:
            to_update_index=row
            break
    
    if to_update_index!=None:
        to_update_data_list=ui.user_inputs(students_fields)
        to_update_data_list.insert(0,table[to_update_index][student_id])

        
        table.pop(to_update_index)
        table.insert(to_update_index,to_update_data_list)

        data_manager.write_to_table("students_tester.csv",table)
    
    else:
        ui.print_error("Not found that ID!")
Ejemplo n.º 2
0
def start():
    while True:
        ui.print_menu(options, 'Back to Main Menu')
        user_input = ui.user_inputs(['number'])
        if user_input == '1':
            create_application(application_fields, table)

        elif user_input == '2':
            data_manager.write_to_table("application.csv",
                                        update_application(table))
        elif user_input == '3':
            data_manager.write_to_table("application.csv",
                                        delete_application(table))
        elif user_input == '0':
            break
        else:
            ui.print_error('Wrong Number')
Ejemplo n.º 3
0
def start():
    while True:
        ui.print_menu(options, 'Back to Main Menu')
        user_input=ui.user_inputs(['number'])
        if user_input=='1':
            show_all(table)
        
        elif user_input=='2':
            data_manager.write_to_table('students_tester.csv',create_student(table,students_fields))

        elif user_input=='3':
            ui.print_result(read_student(table))

        elif user_input=='4':
            read_students(table)

        elif user_input=='5':
            update_student(table)

        elif user_input=='6':
            data_manager.write_to_table("students_tester.csv",activate_deactivate(table))

        elif user_input=='7':
            data_manager.write_to_table("students_tester.csv",delete_student(table))

        elif user_input=='0':
            break
        
        else:
            ui.print_error('Wrong Number')
Ejemplo n.º 4
0
def start():
    while True:
        ui.print_menu(options, 'Back to Main Menu')
        user_input = ui.user_inputs(['number'])
        if user_input == '1':
            result_table = create_company(table, company_fields)
            if result_table:
                data_manager.write_to_table(file_name, result_table)
                ui.print_progress('New record saved')
            else:
                ui.print_error('Invalid data \n Record not saved.')
        elif user_input == '2':
            result = read_company(table)
            if result:
                ui.print_dictionary(result)
            else:
                ui.print_error("There's no company with that ID")
        elif user_input == '3':
            ui.print_table(table, company_fields)
        elif user_input == '4':
            result_table = update_company(table, company_fields)
            if result_table:
                data_manager.write_to_table(file_name, result_table)
                ui.print_progress('Record update')
            else:
                ui.print_error('Invalid data \n Record not saved.')

        elif user_input == '5':
            result_table = delete_company(table)
            if result_table:
                data_manager.write_to_table(file_name, result_table)
                ui.print_progress('Record deleted')
            else:
                ui.print_error('Invalid data \n Record not saved.')

        elif user_input == '0':
            break
        else:
            ui.print_error('Wrong Number')
Ejemplo n.º 5
0
def start():
    while True:
        ui.print_menu(options, 'Back to Main Menu')
        user_input = ui.user_inputs(['number'])
        if user_input == '1':
            result_table = create_position(
                data_manager.read_data('position.csv'), position_fields)
            if result_table:
                data_manager.write_to_table(file_name, result_table)
                ui.print_progress('New record saved')
            else:
                ui.print_error('Invalid data \n Record not saved.')

        elif user_input == '2':
            ui.print_dictionary(read_position(table, position_fields))
        elif user_input == '3':
            table_and_fields = read_positions(table, position_fields)
            ui.print_table(table_and_fields[0], table_and_fields[1])

        elif user_input == '4':
            result_table = update_position(table)
            if result_table:
                data_manager.write_to_table(file_name, result_table)
                ui.print_progress('Record updated')
            else:
                ui.print_error('Invalid data \n Record not saved.')
        elif user_input == '5':
            result_table = delete_position(table)
            if result_table:
                data_manager.write_to_table(file_name, result_table)
                ui.print_progress('Record deleted')
            else:
                ui.print_error('Invalid data \n Record not saved.')
        elif user_input == '0':
            break
        else:
            ui.print_error('Wrong Number')
Ejemplo n.º 6
0
def create_application(fields, table):
    '''
    Users can create new applications. An application has an ID, an “accepted” field, a “Student ID” and a “Position ID”.
    IDs are unique amongst other applications.
    Student and Position IDs must exist.
    The “accepted” field stores whether the application was accepted by a company or not.
    '''
    to_add = ui.user_inputs(fields)
    accepted_index = 0

    if to_add[accepted_index] == "yes" or to_add[accepted_index] == "no":

        student_id_index = 1
        position_id_index = 2

        student_is_ok = False
        position_is_ok = False

        compare_table = data_manager.read_data("students.csv")
        student_id_index_from_student_table = 0
        for row in range(len(compare_table)):
            if compare_table[row][
                    student_id_index_from_student_table] == to_add[
                        student_id_index]:
                student_is_ok = True

        compare_table = data_manager.read_data("position.csv")
        position_id_index_in_position_table = 0
        position_places_index = 2
        max_places = None

        for row in range(len(compare_table)):
            if compare_table[row][
                    position_id_index_in_position_table] == to_add[
                        position_id_index]:
                max_places = int(compare_table[row][position_places_index])
                position_is_ok = True
                break

        count = 0
        if position_is_ok == True:
            application_table_position_id = 3
            application_acceptance = 1
            for row in table:
                if row[application_table_position_id]==to_add[position_id_index] \
                    and row[application_acceptance]=="yes":
                    count += 1

            if count >= max_places:
                position_is_ok = False

        table_student_id_index = 2
        table_position_id = 3
        for row in table:
            if row[table_student_id_index]==to_add[table_student_id_index-1] \
                and row[table_position_id]==to_add[table_position_id-1]:
                position_is_ok = False

        if position_is_ok == True and student_is_ok == True:
            to_add.insert(0, common.create_id(table))
            table.append(to_add)
            data_manager.write_to_table("application.csv", table)

        else:
            ui.print_error("Can't add that row.")
    else:
        ui.print_error("Wrong input(yes or no)")