import flet as ft import designer as des import requests class Add_user_data(ft.View): def load_table_column(self): url = "http://localhost:8001/api-data-base/get_name_column?table_name=%D0%A1ollection_form_opk" temp_column = [] try: response = requests.post(url) if response.status_code == 200: temp = response.json() for column in temp: temp_column.append(ft.DataColumn(ft.Text(column))) return temp_column else: print(f"Error: Received status code {response.status_code}") return temp_column except requests.exceptions.RequestException as e: print(f"Error: {e}") return temp_column def load_return_rows(self): from user_data import User_data as ud url = f"http://localhost:8001/api-data-base/select_rows_with_filter?value={ud.inn}" temp_row = [] try: response = requests.post(url) if response.status_code == 200: temp = response.json() for rows in temp: for row in rows: temp_row.append(ft.DataRow( cells=[ft.DataCell(ft.Text(row[row]))] )) return temp_row else: print(f"Error: Received status code {response.status_code}") return temp_row except requests.exceptions.RequestException as e: print(f"Error: {e}") return temp_row def __init__(self,page:ft.Page,route:str=""): self.data_grid = ft.DataTable( columns=self.load_table_column(), rows=self.load_return_rows() ) super().__init__( bgcolor=des.color[2], route=route, controls=[ ft.Column( controls=[ ft.Row( controls=[ des.Button(text="профиль"), des.Button(text="мои данные",on_click = self.go_to_my_data), des.Button(text="заполнить данные", on_click=self.go_to_data), ] ), ft.Row( expand=True, controls=[ self.data_grid ] ) ] ) ] ) def go_to_info(self,e): self.page.go("/user_info") def go_to_my_data(self,e): self.page.go("/my_data") def go_to_data(self,e): self.page.go("/add_new_data")