You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.4 KiB
93 lines
3.4 KiB
import flet as ft
|
|
import requests
|
|
from requests.auth import HTTPBasicAuth
|
|
import csv
|
|
from globalState import AppState
|
|
import aiohttp
|
|
import asyncio
|
|
|
|
def administrators(page: ft.Page):
|
|
page.title = "Admins"
|
|
|
|
user = AppState.user
|
|
password = AppState.password
|
|
url = AppState.url
|
|
|
|
if url.endswith("/"):
|
|
url = url[:-1]
|
|
url = f"{url}:1443/api/admins"
|
|
|
|
response = requests.get(url, auth=HTTPBasicAuth(user, password), verify=False)
|
|
|
|
if response.status_code == 200:
|
|
data = response.json()
|
|
admins = data['_embedded']['ngcp:admins']
|
|
|
|
rows = []
|
|
|
|
try:
|
|
for admin in admins:
|
|
rows.append(
|
|
ft.DataRow(
|
|
cells=[
|
|
ft.DataCell(ft.Text(str(admin['id']))),
|
|
ft.DataCell(ft.Text(str(admin['reseller_id']))),
|
|
ft.DataCell(ft.Text(admin['login'])),
|
|
ft.DataCell(ft.Text(admin['role'])),
|
|
ft.DataCell(ft.Text(str(admin['is_master']))),
|
|
ft.DataCell(ft.Text(str(admin['is_active']))),
|
|
ft.DataCell(ft.Text(str(admin['read_only']))),
|
|
ft.DataCell(ft.Text(str(admin['show_passwords']))),
|
|
ft.DataCell(ft.Text(str(admin['can_reset_password'])))
|
|
]
|
|
)
|
|
)
|
|
|
|
table = ft.DataTable(
|
|
columns=[
|
|
ft.DataColumn(ft.Text("#")),
|
|
ft.DataColumn(ft.Text("Reseller")),
|
|
ft.DataColumn(ft.Text("Login")),
|
|
ft.DataColumn(ft.Text("Role")),
|
|
ft.DataColumn(ft.Text("Master")),
|
|
ft.DataColumn(ft.Text("Active")),
|
|
ft.DataColumn(ft.Text("ReadOnly")),
|
|
ft.DataColumn(ft.Text("Show Passwords")),
|
|
ft.DataColumn(ft.Text("Can Reset Password"))
|
|
],
|
|
rows=rows
|
|
)
|
|
except:
|
|
for admin in admins:
|
|
rows.append(
|
|
ft.DataRow(
|
|
cells=[
|
|
ft.DataCell(ft.Text(str(admin['id']))),
|
|
ft.DataCell(ft.Text(str(admin['reseller_id']))),
|
|
ft.DataCell(ft.Text(admin['login'])),
|
|
ft.DataCell(ft.Text(str(admin['is_master']))),
|
|
ft.DataCell(ft.Text(str(admin['is_active']))),
|
|
ft.DataCell(ft.Text(str(admin['read_only']))),
|
|
ft.DataCell(ft.Text(str(admin['show_passwords']))),
|
|
]
|
|
)
|
|
)
|
|
|
|
table = ft.DataTable(
|
|
columns=[
|
|
ft.DataColumn(ft.Text("#")),
|
|
ft.DataColumn(ft.Text("Reseller")),
|
|
ft.DataColumn(ft.Text("Login")),
|
|
ft.DataColumn(ft.Text("Master")),
|
|
ft.DataColumn(ft.Text("Active")),
|
|
ft.DataColumn(ft.Text("ReadOnly")),
|
|
ft.DataColumn(ft.Text("Show Passwords")),
|
|
],
|
|
rows=rows
|
|
)
|
|
|
|
page.add(table)
|
|
page.update()
|
|
else:
|
|
page.add(ft.Text(f"Error al obtener datos: {response.status_code}"))
|
|
page.update() |