This commit is contained in:
2020-02-11 21:44:22 +03:00
commit 6ee685148c
15 changed files with 392 additions and 0 deletions

53
modules/ticketsViewer.py Normal file
View File

@@ -0,0 +1,53 @@
import streamlit as st
import pymysql
connection = pymysql.connect(
host='localhost',
user='UserForDBViewerOnStreamlit',
password='123',
db='DBForDBViewerOnStreamlit'
)
def main(connection=connection):
def all_table_elements(TableName):
with connection:
query = 'SELECT * FROM ' + TableName
cursor = connection.cursor(pymysql.cursors.DictCursor)
cursor.execute(query)
rowsList = cursor.fetchall()
return rowsList
def filtered_tickets(userID):
with connection:
query = 'SELECT * FROM Tickets WHERE UserID IN (' + userID + ')'
cursor = connection.cursor(pymysql.cursors.DictCursor)
cursor.execute(query)
userTickets = cursor.fetchall()
return userTickets
usersList = all_table_elements('Users')
st.title('Список пользователей и их заявок')
st.dataframe(usersList)
listToDisplay = []
for i in range(len(usersList)):
listToDisplay.append(
str(usersList[i]['UserID']) + ' ' + usersList[i]['UserName'])
filterBox = st.checkbox('Фильтр по пользователю')
if filterBox:
choice = st.selectbox(
'Выберите пользователя для просмотра его заявок', listToDisplay)
if choice is not None:
userTickets = filtered_tickets(choice.split(' ')[0])
st.dataframe(userTickets)
else:
st.dataframe(all_table_elements('Tickets'))
if __name__ == "__main__":
main()