From 8e288c4b141df0805f63450079f6a0f5cf9e8f37 Mon Sep 17 00:00:00 2001 From: Louie S Date: Sat, 16 Sep 2023 09:36:14 -0400 Subject: edit entries working --- db_sqlite.py | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) (limited to 'db_sqlite.py') diff --git a/db_sqlite.py b/db_sqlite.py index 01f771d..4c4cf0d 100644 --- a/db_sqlite.py +++ b/db_sqlite.py @@ -172,7 +172,7 @@ def insertEntry(new_entry): def updateGroup(group): """ - Update group by group_id + Update group by its id """ database = QSqlDatabase.addDatabase("QSQLITE") # SQlite version 3 database.setDatabaseName(Globals.db_path) @@ -184,16 +184,54 @@ def updateGroup(group): query = QSqlQuery() query.prepare(""" - UPDATE groups SET name = ?, column = ?, link = ? WHERE id = ? + UPDATE groups SET name = ?, column = ?, link = ?, hidden = ? WHERE id = ? """) query.addBindValue(group.name) query.addBindValue(group.column) query.addBindValue(group.link) + query.addBindValue(group.hidden) query.addBindValue(group.id) query.exec_() database.close() +def updateEntry(entry): + """ + Update entry by its id + """ + database = QSqlDatabase.addDatabase("QSQLITE") # SQlite version 3 + database.setDatabaseName(Globals.db_path) + + if not database.open(): + print("Unable to open data source file.") + sys.exit(1) # Error out. TODO consider throwing a dialog instead + + query = QSqlQuery() + + query.prepare(""" + UPDATE entries SET + description = :desc, + due_date = :due, + alt_due_date = :alt_due, + link = :link, + done = :done, + hidden = :hidden + WHERE id = :id + """) + query.bindValue(":desc", entry.desc) + query.bindValue(":due", "{0}-{1}-{2}".format( + entry.due.year(), + entry.due.month(), + entry.due.day())) + query.bindValue(":alt_due", entry.due_alt) + query.bindValue(":link", entry.link) + query.bindValue(":done", entry.done) + query.bindValue(":hidden", entry.hidden) + query.bindValue(":id", entry.id) + query.exec_() + + database.close() + def removeGroup(group_id): """ Remove a group by id from the database -- cgit