def run(): options = [ "Display data as a table", "Add new data", "Remove data", "Update", "What is the id of the customer with the longest name?", "Which customers has subscribed to the newsletter?" ] choice = None while choice != "0": terminal_view.print_menu("CRM menu ", options, "Go back to main menu") inputs = terminal_view.get_inputs(["Please enter a number: "], "") choice = inputs[0] table_titles = ["id", "name", "email", "subscribed"] #reading data from file data_table = data_manager.get_table_from_file( "model/crm/customers.csv") if choice == "1": terminal_view.print_table(data_table, table_titles) elif choice == "2": table_titles.pop(0) crm.add(data_table, table_titles) elif choice == "3": crm.remove(data_table, get_user_id("remove")) elif choice == "4": crm.update(data_table, get_user_id("update"), common.get_user_record(table_titles[1:])) elif choice == "5": sales_controller.run() elif choice == "6": crm_controller.run() elif choice == "0": root_controller.run() else: terminal_view.print_error_message("There is no such choice.")
def run(): """ Starts this module and displays its menu. * User can access default special features from here. * User can go back to main menu from here. Returns: None """ list_of_customers = crm.get_data_to_list() # your code options = [ "Add new record", "Remove a record", "Update record", "Id of the customer with the longest name", "Customers has subscribed to the newsletter", "Print table" ] title_list = ["ID", "Name", "e-mail", "subscribed"] choice = None while choice != "0": choice = terminal_view.get_choice(options, "Back to main menu") if choice == "1": new_record = terminal_view.get_inputs( ["Name: ", "e-mail: ", "subscribed: "], "Please enter value: ") new_record.insert(0, crm.get_random_id(list_of_customers)) list_of_customers = crm.add(list_of_customers, new_record) elif choice == "2": # id_of_record_to_remove = id_to_number_of_line(list_of_customers) id_of_record_to_remove = ask_untill_correct(list_of_customers) list_of_customers = crm.remove( list_of_customers, common.check_id_by_number(list_of_customers, int(id_of_record_to_remove))) elif choice == "3": id_of_record_to_update = ask_untill_correct(list_of_customers) updated_record = terminal_view.get_inputs( ["Name: ", "e-mail: ", "subscribed: "], "Please enter value: ") list_of_customers = crm.update( list_of_customers, common.check_id_by_number(list_of_customers, int(id_of_record_to_update)), updated_record) elif choice == "4": terminal_view.print_result( crm.get_longest_name_id(list_of_customers), "Longest person's ID") elif choice == "5": terminal_view.print_result( crm.get_subscribed_emails(list_of_customers), "List of subsrcibe user") elif choice == "6": terminal_view.print_table(list_of_customers, title_list) elif choice == "0": crm.export_list_to_file(list_of_customers) else: terminal_view.print_error_message( "There is no such choice.") # your code
def run(): """ Starts this module and displays its menu. * User can access default special features from here. * User can go back to main menu from here. Returns: None """ table = crm.get_crm_table_from_file() title_list = ["ID", "Name", "E-mail", "Subscribed"] options = [ "View records", "Add record", "Remove record", "Update record", "ID releated with the longest name", "The emails with subscription", "The users without subscription" ] choice = None while choice != "0": choice = terminal_view.get_choice_inner_menu( options, "Customer Relationship Management manager") if choice == "1": terminal_view.print_table(table, title_list) elif choice == "2": record = terminal_view.get_inputs(title_list[1::], "Please provide new item data") table = crm.add(table, record) elif choice == "3": id_to_delete_table = terminal_view.get_inputs(["ID"], "Item to delete") id_to_delete = id_to_delete_table[0] table = crm.remove(table, id_to_delete) elif choice == "4": records = terminal_view.get_inputs(title_list, "Edit item") record_id = records[0] table = crm.update(table, record_id, records) elif choice == "5": longest_name_id = crm.get_longest_name_id(table) terminal_view.print_result(longest_name_id, "The longest name ID: ") elif choice == "6": subscribed_emails = crm.get_subscribed_emails(table) terminal_view.print_result(subscribed_emails, "The subscribed emails: ") elif choice == "7": offer = crm.proposition_subscription(table) terminal_view.print_result(offer, "The users without subscription: ") elif choice != "0": terminal_view.print_error_message("There is no such choice.")
def run(): """ Starts this module and displays its menu. * User can access default special features from here. * User can go back to main menu from here. Returns: None """ common.clear() title = 'Custom Relationship Mmanager menu' options = ["Add new record to table", "Remove a record with a given id from the table.", "Updates specified record in the table.", "What is the id of the customer with the longest name?", "Which customers has subscribed to the newsletter?"] exit_message = "Back to main menu" title_list = ["ID", "NAME", "EMAIL", "SUBSCRIBED"] table = crm.data_manager.get_table_from_file('model/crm/customers.csv') choice = None while choice != "0": terminal_view.print_table(table, title_list) choice = terminal_view.get_choice(title, options, exit_message) if choice == "1": record = terminal_view.get_inputs(title_list, 'Please add following informations :', table) updated_table = crm.add(table, record) crm.data_manager.write_table_to_file('model/crm/customers.csv', updated_table) common.exit_prompt() common.clear() elif choice == "2": id_ = terminal_view.get_inputs(['Id'], 'Please give ID to remove :', table) updated_table = crm.remove(table, id_) crm.data_manager.write_table_to_file('model/crm/customers.csv', updated_table) common.exit_prompt() common.clear() elif choice == "3": id_ = terminal_view.get_inputs(['Id'], 'Please give ID of changed line :', table) record = terminal_view.get_inputs(title_list, 'Please add following informations :', table) updated_table = crm.update(table, id_, record) crm.data_manager.write_table_to_file('model/crm/customers.csv', updated_table) common.exit_prompt() common.clear() elif choice == "4": label = "The id of the customer with the longest name is: " result = crm.get_longest_name_id(table) terminal_view.print_result(result, label) common.exit_prompt() common.clear() elif choice == "5": label = "Customers that has been subscribed to the newsletter: " result = crm.get_subscribed_emails(table) terminal_view.print_result(result, label) common.exit_prompt() common.clear() elif choice != 0: terminal_view.print_error_message("There is no such choice.") common.exit_prompt() common.clear()
def run(): """ Starts this module and displays its menu. * User can access default special features from here. * User can go back to main menu from here. Returns: None """ title = "Customer Relationship Management (CRM)" options = ["Add item", "Remove item", "Update item", "Longest ID of customer", "Show subscibers"] exit_message = "Back to main menu" title_list = [ ['Name'], ['E-mail address'], ['Subscription']] data_file = "model/crm/customers.csv" table = data_manager.get_table_from_file(data_file) terminal_view.print_table(table, title_list) choice = None while choice != "0": choice = terminal_view.get_choice(title, options, exit_message) if choice == "1": record = [] index = 0 inputs = terminal_view.get_inputs(title_list, title) for i in inputs: record.insert(index, i) index += 1 crm.add(table, record) data_manager.write_table_to_file(data_file, table) terminal_view.print_table(table, title_list) elif choice == "2": user_input = terminal_view.get_inputs(["Enter ID: "], "") crm.remove(table, user_input[0]) terminal_view.print_table(table, title_list) elif choice == "3": record = [] index = 0 user_input = terminal_view.get_inputs(["Enter ID: "], "") inputs = terminal_view.get_inputs(title_list, title) for i in inputs: record.insert(index, i) index += 1 crm.update(table, user_input[0], record) terminal_view.print_table(table, title_list) elif choice == "4": terminal_view.print_result( crm.get_longest_name_id(table), "This is the longest ID") elif choice == "5": terminal_view.print_result( crm.get_subscribed_emails(table), "Subscribed e-mails") else: terminal_view.print_error_message("You have chosen back to menu.")