Ejemplo n.º 1
0
 def deleteGroceryList(self):
     db = homehubdb.Db_manager()
     db.cursor.execute("DELETE FROM groceryList WHERE userID=%s",
                       (self.userID))
     db.hubdb.commit()
     db.disconnect()
     self.populateGroceryList()
Ejemplo n.º 2
0
 def deleteBill(self, IDToDel):
     db = homehubdb.Db_manager()
     db.cursor.execute("DELETE FROM bills WHERE id=%s AND userID=%s",
                       (IDToDel, self.userID))
     db.hubdb.commit()
     db.disconnect()
     self.populateBillList()
Ejemplo n.º 3
0
 def populateBillList(self):
     for element in self.listFrame.winfo_children():
         element.destroy()
     db = homehubdb.Db_manager()
     db.cursor.execute(
         "SELECT id, name, description, totalDue, dueDate FROM bills WHERE userID=%s",
         (self.userID))
     cntr = 0
     for val in db.cursor.fetchall():
         dbBillName = StringVar()
         dbBillName.set(val[1] + '\n' + str(val[3]))
         billLabel = Label(self.listFrame, textvariable=dbBillName)
         billLabel.grid(row=cntr, column=0)
         billLabel.config(font=("Times", 12, "bold"))
         cntr += 1
         dbBillDate = StringVar()
         dbBillDate.set(val[4])
         billDateLabel = Label(self.listFrame, textvariable=dbBillDate)
         billDateLabel.grid(row=cntr, column=0)
         billDateLabel.config(font=("Times", 10, "italic"))
         cntr += 1
         dbBillDesc = StringVar()
         dbBillDesc.set(val[2])
         billDescLabel = Label(self.listFrame, textvariable=dbBillDesc)
         billDescLabel.grid(row=cntr, column=0)
         billDescLabel.config(font=("Times", 10, "italic"))
         deleteBillButton = Button(
             self.listFrame,
             text="Delete",
             command=lambda IDToDel=val[0]: self.deleteBill(IDToDel))
         deleteBillButton.grid(row=cntr - 2, column=1)
         cntr += 1
     db.disconnect()
Ejemplo n.º 4
0
 def deleteGroceryItem(self, itemToDel):
     db = homehubdb.Db_manager()
     db.cursor.execute(
         "DELETE FROM groceryList WHERE item=%s AND userID=%s",
         (itemToDel, self.userID))
     db.hubdb.commit()
     db.disconnect()
     self.populateGroceryList()
Ejemplo n.º 5
0
 def addGroceryItem(self):
     db = homehubdb.Db_manager()
     db.cursor.execute(
         "INSERT INTO groceryList(userID,item) VALUES(%s, %s)",
         (self.userID, self.entry_1.get()))
     db.hubdb.commit()
     db.disconnect()
     self.entry_1.delete(0, 'end')
     self.populateGroceryList()
Ejemplo n.º 6
0
 def smsBillList(self, listOfBills, listOfSubs):
     global em
     emailList = []
     db = homehubdb.Db_manager()
     #        db.cursor.execute("SELECT item FROM groceryList WHERE userID=%s", (self.userID))
     #        for val in db.cursor.fetchall():
     #            emailList.append(val[0])
     #        emailRecip = str()
     #        db.cursor.execute("SELECT email FROM users WHERE id=%s", (self.userID))
     #        for val in db.cursor.fetchall():
     #            emailRecip = val[0]
     #        em.setMsg(emailList)
     #        em.sendMsg(emailRecip)
     db.disconnect()
Ejemplo n.º 7
0
 def addBill(self):
     db = homehubdb.Db_manager()
     db.cursor.execute(
         "INSERT INTO bills(name,description,totalDue,userID,dueDate) VALUES(%s, %s, %s, %s, %s)",
         (self.entry_1.get(), self.entry_2.get(), self.entry_3.get(),
          self.userID,
          datetime.date(2019, self.entry_4.month,
                        int(self.entry_4.dayDDDefMsg.get()))))
     db.hubdb.commit()
     db.disconnect()
     self.entry_1.delete(0, 'end')
     self.entry_2.delete(0, 'end')
     self.entry_3.delete(0, 'end')
     self.populateBillList()
Ejemplo n.º 8
0
 def emailList(self):
     global em
     groceryString = str()
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT item FROM groceryList WHERE userID=%s",
                       (self.userID))
     for val in db.cursor.fetchall():
         groceryString += '\n' + val[0]
     emailRecip = str()
     db.cursor.execute("SELECT email FROM users WHERE id=%s", (self.userID))
     for val in db.cursor.fetchall():
         emailRecip = val[0]
     em.setMsg(groceryString)
     em.sendMsg(emailRecip)
     db.disconnect()
Ejemplo n.º 9
0
 def addNote(self):
     db = homehubdb.Db_manager()
     db.cursor.execute(
         "INSERT INTO notes(message,name,dateCreated) VALUES(%s, %s, NOW())",
         (self.notesEntry.get(), self.username))
     db.cursor.execute("SET @note_id=LAST_INSERT_ID()")
     db.cursor.execute("SELECT id FROM users")
     for val in db.cursor.fetchall():
         db.cursor.execute(
             "INSERT INTO userNotes(userID, noteID) VALUES(%s, @note_id)",
             (val[0]))
     db.hubdb.commit()
     self.notesEntry.delete(0, 'end')
     db.disconnect()
     self.notesPopup.destroy()
     self.populateNotes()
Ejemplo n.º 10
0
 def __init__(self):
     global root
     root.title("Login")
     self.holiday = True
     self.usernameFrame = Frame(root)
     self.passwFrame = Frame(root)
     self.keypadFrame = Frame(root)
     self.attemptedPassword = str()
     self.shownAttemptedPassw_var = StringVar()
     self.usernameSelected = str()
     self.usernameFrame.pack(side=TOP)
     self.keypadFrame.pack(side=BOTTOM)
     self.passwFrame.pack(side=BOTTOM)
     greeting1 = Label(self.usernameFrame, text="HOME HUB 6270")
     greeting1.config(font=("Times", 32, "bold"))
     greeting1.grid()
     greeting2 = Label(self.usernameFrame, text="Please Login...")
     greeting2.config(font=("Times", 16, "italic"))
     greeting2.grid()
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT name, id FROM users")
     loginUserCounter = 2
     for val in db.cursor.fetchall():
         dbUsername = StringVar()
         dbUsername.set(val[0])
         userButton = Button(self.usernameFrame,
                             textvariable=dbUsername,
                             command=lambda dbUsername=dbUsername: self.
                             userSelect(dbUsername))
         userButton.config(width=16)
         userButton.grid(row=loginUserCounter, column=0)
         # V cursor.execute returns an int of affected rows V
         unreadCheck = db.cursor.execute(
             "SELECT noteID, unread FROM userNotes WHERE userID=%s AND unread=1",
             (val[1]))
         if (unreadCheck > 0):
             unreadMessages = Label(self.usernameFrame, text="!")
             unreadMessages.config(width=16, font=("Helvetica", 16, "bold"))
             unreadMessages.grid(row=loginUserCounter, column=1)
         loginUserCounter = loginUserCounter + 1
     db.disconnect()
     shownAttemptedPassw = Label(self.passwFrame,
                                 textvariable=self.shownAttemptedPassw_var)
     self.shownAttemptedPassw_var.set(self.attemptedPassword)
     shownAttemptedPassw.grid()
     if (self.holiday):
         self.holidayMode()
Ejemplo n.º 11
0
 def __init__(self, username):
     global root
     self.homeRoot = Frame(root)
     self.homeRoot.pack(side=TOP)
     self.menuFrame = Frame(root)
     self.menuFrame.pack(side=TOP)
     self.notesFrame = Frame(root)
     self.notesFrame.pack(side=BOTTOM)
     root.title("Home")
     self.username = username
     self.populateUI()
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT id FROM users WHERE name=%s",
                       (self.username))
     dbReturn = db.cursor.fetchall()
     for val in dbReturn:
         self.userID = val[0]
     db.disconnect()
     self.populateNotes()
Ejemplo n.º 12
0
 def emailBillList(self):
     global em
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT email FROM users")
     dbReturn1 = db.cursor.fetchall()
     for val in dbReturn1:
         db.cursor.execute(
             "SELECT name, description, totalDue, dueDate FROM bills WHERE userID=%s",
             (self.userID))
         dbReturn2 = db.cursor.fetchall()
         strToEmail = ""
         for innerVal in dbReturn2:
             strToEmail += strToEmail + "\n" + str(innerVal[0]) + " " + str(
                 innerVal[1]) + " " + str(innerVal[2]) + " " + str(
                     innerVal[3])
         em.setMsg(strToEmail)
         em.sendMsg(val[0])
         print("Sending email to {}.".format(val[0]))
         #print("Val0:{} \n Val1:{} \n Val2:{} \n Val3:{} \n Val4:{}".format(val[0], val[1], val[2], val[3], val[4]));
     db.disconnect()
Ejemplo n.º 13
0
 def updateInfo(self):
     db = homehubdb.Db_manager()
     if len(self.passEntry.get()) != 0:
         executeStmt = int(str(self.passEntry.get()))
         db.cursor.execute("UPDATE users SET password=%s WHERE name=%s",
                           (executeStmt, self.username))
     if len(self.emailEntry.get()) != 0:
         executeStmt = str(self.emailEntry.get())
         db.cursor.execute("UPDATE users SET email=%s WHERE name=%s",
                           (executeStmt, self.username))
     if len(self.phoneEntry.get()) != 0:
         executeStmt = str(self.phoneEntry.get())
         db.cursor.execute("UPDATE users SET phone=%s WHERE name=%s",
                           (executeStmt, self.username))
     db.hubdb.commit()
     db.disconnect()
     self.passEntry.delete(0, 'end')
     self.emailEntry.delete(0, 'end')
     self.phoneEntry.delete(0, 'end')
     self.infoPopup.destroy()
     self.populateAccountInfo()
Ejemplo n.º 14
0
 def populateAccountInfo(self):
     for element in self.accountInfoFrame.winfo_children():
         element.destroy()
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT * FROM users WHERE name=%s", (self.username))
     for val in db.cursor.fetchall():
         session_id = val[0]  #INT
         session_name = val[1]  #str
         session_password = val[2]  #INT
         session_email = val[3]  #str
         session_phone = val[4]  #str
     db.disconnect()
     packedSettingsStr = "Your Account Number: " + str(session_id) + '\n' + \
                         "Your Preferred Name: " + session_name + '\n' + \
                         "Your Primary Email: " + session_email + '\n' + \
                         "Your Primary Cellphone: " + session_phone
     packedSettingsStrVar = StringVar()
     packedSettingsStrVar.set(packedSettingsStr)
     accountSettingsInfoLabel = Label(self.accountInfoFrame,
                                      textvariable=packedSettingsStrVar)
     accountSettingsInfoLabel.grid()
     self.populateUI()
Ejemplo n.º 15
0
 def populateGroceryList(self):
     for element in self.listFrame.winfo_children():
         element.destroy()
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT item FROM groceryList WHERE userID=%s",
                       (self.userID))
     cntr = 0
     colCntr = 0
     for val in db.cursor.fetchall():
         dbGroceryItem = StringVar()
         dbGroceryItem.set(val[0])
         groceryItem = Label(self.listFrame, textvariable=dbGroceryItem)
         deleteItemButton = Button(self.listFrame,
                                   text="Delete",
                                   command=lambda itemToDel=dbGroceryItem.
                                   get(): self.deleteGroceryItem(itemToDel))
         if (cntr > 9):
             cntr = 0
             colCntr = colCntr + 2
         groceryItem.grid(row=cntr, column=colCntr)
         deleteItemButton.grid(row=cntr, column=colCntr + 1)
         cntr = cntr + 1
     db.disconnect()
Ejemplo n.º 16
0
 def __init__(self, username):
     global root
     root.title("Bill Manager")
     self.billRoot = Frame(root)
     self.listFrame = Frame(root)
     self.entryFrame = Frame(root)
     self.billRoot.pack(side=TOP)
     self.listFrame.pack()
     self.entryFrame.pack()
     self.username = username
     db = homehubdb.Db_manager()
     db.cursor.execute("SELECT id FROM users WHERE name=%s",
                       (self.username))
     dbReturn = db.cursor.fetchall()
     for val in dbReturn:
         self.userID = val[0]
     db.disconnect()
     greeting = Label(self.billRoot,
                      text="{}'s Bill Manager".format(self.username))
     greeting.config(font=("Times", 16, "bold"))
     greeting.grid()
     self.populateBillList()
     self.populateUI()
Ejemplo n.º 17
0
 def userAuthentication(self, numToAppend):
     global root
     global mainApp
     if len(self.attemptedPassword) < 3:
         self.attemptedPassword += numToAppend
         self.shownAttemptedPassw_var.set(self.attemptedPassword)
     elif len(self.attemptedPassword) < 4:
         self.attemptedPassword += numToAppend
         self.shownAttemptedPassw_var.set(self.attemptedPassword)
         db = homehubdb.Db_manager()
         db.cursor.execute("SELECT password FROM users WHERE name=%s",
                           (self.usernameSelected))
         dbReturn = db.cursor.fetchall()
         for val in dbReturn:
             passW = val[0]
         db.disconnect()
         if passW == int(self.attemptedPassword):
             for element in root.winfo_children():
                 element.destroy()
             mainApp = FR_home(self.usernameSelected)
         else:
             self.shownAttemptedPassw_var.set("Wrong... Try Again")
         self.attemptedPassword = str()
Ejemplo n.º 18
0
 def populateNotes(self):
     for element in self.notesFrame.winfo_children():
         element.destroy()
     db = homehubdb.Db_manager()
     db.cursor.execute(
         "SELECT id FROM notes WHERE dateCreated BETWEEN NOW() - INTERVAL 14 DAY AND NOW() - INTERVAL 7 DAY"
     )
     for val in db.cursor.fetchall():
         db.cursor.execute("DELETE FROM userNotes WHERE noteID=%s",
                           (val[0]))
         db.cursor.execute("DELETE FROM notes WHERE id=%s", (val[0]))
     db.hubdb.commit()
     noteTitleLabel = Label(self.notesFrame, text="A note for you...")
     noteTitleLabel.config(font=("Times", 16, "italic"))
     noteTitleLabel.grid()
     db.cursor.execute(
         "SELECT name, message, dateCreated, id FROM notes WHERE dateCreated BETWEEN NOW() - INTERVAL 7 DAY AND NOW()"
     )
     for val in db.cursor.fetchall():
         notedb = StringVar()
         notedb.set(val[1])
         messageAuthor = StringVar()
         messageAuthor.set(val[0])
         dateOfNote = StringVar()
         dateOfNote.set(val[2])
         noteLabel = Label(self.notesFrame, textvariable=notedb)
         noteLabel.grid(column=0)
         authorLabel = Label(self.notesFrame, textvariable=messageAuthor)
         authorLabel.grid(column=1)
         dateLabel = Label(self.notesFrame, textvariable=dateOfNote)
         dateLabel.grid(column=1)
         db.cursor.execute(
             "UPDATE userNotes SET unread=0 WHERE userID=%s AND noteID=%s",
             (self.userID, val[3]))
     db.hubdb.commit()
     db.disconnect()
Ejemplo n.º 19
0
import tkinter
from tkinter import *
from tkinter import messagebox
import homehubdb
import hh_email

db = homehubdb.Db_manager()
mailer = hh_email.EmailManager()

root = tkinter.Tk()
root.geometry("512x512")

def emailGroceryList():
    mailer.setMsg(groceryList)
    mailer.sendMsg("*****@*****.**") #TODO: make based on user logged in, not hard coded

def grabAndShowList():
    db.cursor.execute("SELECT item FROM GroceryList WHERE id = 0") #TODO: make id not hard-coded, but based on user logged in
    groceryList = []
    for val in db.cursor.fetchall():
        fetchedStr = StringVar()
        fetchedStr.set(val)
        groceryItem = fetchedStr.get()
        groceryList.append(groceryItem)
    for item in groceryList:
        print(item + "\n")

groceryHeader = StringVar()
groceryHeaderLabel = Label(root, textvariable = groceryHeader)
groceryHeader.set("Here is your grocery list: \n")
groceryHeaderLabel.pack()