diff --git a/edit_time.py b/edit_time.py deleted file mode 100644 index 3feb92b..0000000 --- a/edit_time.py +++ /dev/null @@ -1,90 +0,0 @@ -import sqlite3 -import os - -def connect_db(): - db_file = 'time_tracker.db' - if not os.path.exists(db_file): - print(f"Error: Database file '{db_file}' not found.") - return None - return sqlite3.connect(db_file) - -def display_entry_details(entry): - print("\n--- Current Entry Details ---") - print(f"ID: {entry[0]} | Project: {entry[1]} | Date: {entry[4]}") - print(f"Description: {entry[2]}") - print(f"Hours: {entry[5]}") - print("-" * 30) - -def edit_time_entry(): - conn = connect_db() - if not conn: return - cursor = conn.cursor() - - try: - # 1. Select Client - cursor.execute('SELECT client_id, client_name FROM clients ORDER BY client_name') - clients = cursor.fetchall() - - print("\n--- Select Client to Edit Time ---") - for cid, name in clients: - print(f"{cid}: {name}") - - client_id = input("\nEnter Client ID (or 0 to go back): ") - if client_id == '0' or not client_id: return - - while True: - # 2. List Uninvoiced Entries for Client - cursor.execute('''SELECT entry_id, project, description, invoiced, date, hours - FROM time_tracking WHERE client_id = ? AND invoiced = 0 - ORDER BY date DESC''', (client_id,)) - entries = cursor.fetchall() - - if not entries: - print("No uninvoiced entries found for this client.") - break - - print(f"\n--- Time Entries for Client {client_id} ---") - for e in entries: - print(f"ID {e[0]}: [{e[4]}] {e[1]} - {e[5]} hrs") - print("0: Back to Main Menu") - - entry_choice = input("\nSelect Entry ID to edit: ") - if entry_choice == '0': break - - # Find the specific entry - selected_entry = next((e for e in entries if str(e[0]) == entry_choice), None) - if not selected_entry: - print("Invalid Entry ID.") - continue - - # 3. Edit Fields one by one - display_entry_details(selected_entry) - - # Project - new_project = input(f"Project [{selected_entry[1]}]: ") or selected_entry[1] - # Description - new_desc = input(f"Description [{selected_entry[2]}]: ") or selected_entry[2] - # Date - new_date = input(f"Date [{selected_entry[4]}]: ") or selected_entry[4] - # Hours - new_hours_raw = input(f"Hours [{selected_entry[5]}]: ") - new_hours = float(new_hours_raw) if new_hours_raw else selected_entry[5] - - # 4. Update Database - cursor.execute('''UPDATE time_tracking - SET project = ?, description = ?, date = ?, hours = ? - WHERE entry_id = ?''', - (new_project, new_desc, new_date, new_hours, entry_choice)) - conn.commit() - - print("\nUpdate Successful! New Values:") - print(f"Project: {new_project}\nDescription: {new_desc}\nDate: {new_date}\nHours: {new_hours}") - print("="*30) - - except Exception as e: - print(f"An error occurred: {e}") - finally: - conn.close() - -if __name__ == "__main__": - edit_time_entry() \ No newline at end of file