def all_admins(root): field_list = ["user.First_name", "user.Last_name"] + list( fields["administrator"].keys()) admins = select.get_all("administrator", db) field_frame = tk.Frame(root) for column in range(len(field_list)): col = field_list[column] if "." in col: col = col.split(".") text = fields[col[0]][col[1]]["text"] else: text = fields["administrator"][col]["text"] add_table_cell(field_frame, text, 0, column) for row in range(len(admins)): user = select.get_specific("user", admins[row]["Admin_id"], db) for column in range(len(field_list)): if "." in field_list[column]: text = user[field_list[column].split(".")[1]] else: text = admins[row][field_list[column]] add_table_cell(field_frame, text, row + 1, column) return field_frame
def all_results(root): field_list = ["exams.Exam_id", "students.Student_id"] + list( fields["results"].keys()) field_list.remove("Student_id") field_list.remove("Exam_id") results = select.get_all("results", db) field_frame = tk.Frame(root) for column in range(len(field_list)): col = field_list[column] if "." in col: col = col.split(".") text = fields[col[0]][col[1]]["text"] else: text = fields["results"][col]["text"] add_table_cell(field_frame, text, 0, column) for row in range(len(results)): exam = select.get_specific("exams", results[row]["Exam_id"], db) student = select.get_specific("user", results[row]["Student_id"], db) for column in range(len(field_list)): if "exams." in field_list[column]: text = exam[field_list[column].split(".")[1]] elif "students." in field_list[column]: text = student["First_name"] + " " + student["Last_name"] elif field_list[column] == "Passed": text = "Yes" if results[row][field_list[column]] else "No" else: text = results[row][field_list[column]] add_table_cell(field_frame, text, row + 1, column) return field_frame
def all_teachers(root): field_list = ["user.First_name", "user.Last_name"] + list( fields["teachers"].keys()) teachers = select.get_all("teachers", db) field_frame = tk.Frame(root) for column in range(len(field_list)): col = field_list[column] if "." in col: col = col.split(".") text = fields[col[0]][col[1]]["text"] else: text = fields["teachers"][col]["text"] add_table_cell(field_frame, text, 0, column) for row in range(len(teachers)): user = select.get_specific("user", teachers[row]["Teacher_id"], db) for column in range(len(field_list)): if "." in field_list[column]: text = user[field_list[column].split(".")[1]] elif field_list[column] == "Studycounselor": text = "Yes" if teachers[row][field_list[column]] else "No" else: text = teachers[row][field_list[column]] add_table_cell(field_frame, text, row + 1, column) return field_frame
def get_fk_exam_dropdown(root): rows = get_all("exams", db) options = [row["Exam_id"]for row in rows] var = tk.StringVar(value=options[0]) return tk.OptionMenu(root, var, *options), var
def all_exams(root): field_list = ["course.Course_name"] + list(fields["exams"].keys()) field_list.remove("Course_id") exams = select.get_all("exams", db) field_frame = tk.Frame(root) for column in range(len(field_list)): col = field_list[column] if "." in col: col = col.split(".") text = fields[col[0]][col[1]]["text"] else: text = fields["exams"][col]["text"] add_table_cell(field_frame, text, 0, column) for row in range(len(exams)): course = select.get_specific("course", exams[row]["Course_id"], db) for column in range(len(field_list)): if "course." in field_list[column]: text = course[field_list[column].split(".")[1]] elif field_list[column] == "Resit": text = "Yes" if exams[row][field_list[column]] else "No" else: text = exams[row][field_list[column]] add_table_cell(field_frame, text, row + 1, column) return field_frame
def get_fk_course_dropdown(root): rows = get_all("course", db) text_options = [row["Course_name"] for row in rows] ids = [row["course_id"] for row in rows] id_var = tk.StringVar(value=ids[0]) str_var = tk.StringVar(value=text_options[0]) def option_change(x): id_var.set(ids[text_options.index(x)]) return tk.OptionMenu(root, str_var, *text_options, command=option_change), id_var
def get_fk_user_dropdown(root): rows = get_all("user", db) text_options = [row["First_name"] + " " + row["Last_name"] for row in rows] ids = [row["id"] for row in rows] id_var = tk.StringVar(value=ids[0]) str_var = tk.StringVar(value=text_options[0]) def option_change(x): id_var.set(ids[text_options.index(x)]) return tk.OptionMenu(root, str_var, *text_options, command=option_change), id_var
def all_users(root): field_list = list(fields["user"].keys()) users = select.get_all("user", db) field_frame = tk.Frame(root) for column in range(len(field_list)): add_table_cell(field_frame, fields["user"][field_list[column]]["text"], 0, column) for row in range(len(users)): for column in range(len(field_list)): add_table_cell(field_frame, users[row][field_list[column]], row + 1, column) return field_frame
def all_studies(root): field_list = list(fields["study"].keys()) studies = select.get_all("study", db) field_frame = tk.Frame(root) for column in range(len(field_list)): add_table_cell(field_frame, fields["study"][field_list[column]]["text"], 0, column) for row in range(len(studies)): for column in range(len(field_list)): add_table_cell(field_frame, studies[row][field_list[column]], row + 1, column) return field_frame
def all_students(root): field_list = [ "user.First_name", "user.Last_name", "study.study_name", "teachers.Teacher_id" ] + list(fields["students"].keys()) field_list.remove("Study_id") field_list.remove("Counselor_id") students = select.get_all("students", db) field_frame = tk.Frame(root) for column in range(len(field_list)): col = field_list[column] if "." in col: col = col.split(".") text = fields[col[0]][col[1]]["text"] else: text = fields["students"][col]["text"] add_table_cell(field_frame, text, 0, column) for row in range(len(students)): user = select.get_specific("user", students[row]["Student_id"], db) study = select.get_specific("study", students[row]["Study_id"], db) teacher = select.get_specific("user", students[row]["Counselor_id"], db) for column in range(len(field_list)): if "user." in field_list[column]: text = user[field_list[column].split(".")[1]] elif "study." in field_list[column]: text = study[field_list[column].split(".")[1]] elif "teachers." in field_list[column]: text = teacher["First_name"] + " " + teacher["Last_name"] else: text = students[row][field_list[column]] add_table_cell(field_frame, text, row + 1, column) return field_frame
def all_courses(root): field_list = list(fields["course"].keys()) courses = select.get_all("course", db) field_frame = tk.Frame(root) for column in range(len(field_list)): text = fields["course"][field_list[column]]["text"] add_table_cell(field_frame, text, 0, column) for row in range(len(courses)): study = select.get_specific("study", courses[row]["Study_id"], db) teacher = select.get_specific("user", courses[row]["Teacher_id"], db) for column in range(len(field_list)): if "study." in field_list[column]: text = study[field_list[column].split(".")[1]] elif "teacher." in field_list[column]: text = teacher["First_name"] + " " + teacher["Last_name"] else: text = courses[row][field_list[column]] add_table_cell(field_frame, text, row + 1, column) return field_frame