33import datetime
44import logging
55from typing import List , Tuple
6- from flask import Flask , render_template , request , redirect , url_for
6+ from flask import Flask , flash , render_template , request , redirect , url_for
77from mongodb import MongoDbClient
88import hashlib
99
1010# Initialize Flask application
1111app : Flask = Flask (__name__ )
12+ app .secret_key = os .environ .get ("SECRET_KEY" , os .urandom (24 ))
1213
1314# Configure logging
1415logging .basicConfig (
@@ -68,10 +69,6 @@ def read_documents(username: str | None = None) -> List[dict]:
6869@app .route ('/' , methods = ['GET' , 'POST' ])
6970def index ():
7071 """Handle the main page for viewing and adding activities."""
71- # Get edit data from query parameters (if any)
72- edit_id = request .args .get ('edit_id' )
73- edit_activity = request .args .get ('edit_activity' )
74-
7572 if request .method == 'POST' :
7673 activity = request .form .get ('activity' )
7774 if activity :
@@ -85,6 +82,7 @@ def index():
8582 updated_activity = mongodb_client .update_document_by_id (row_id , {"activity" : activity })
8683 if updated_activity :
8784 logger .info (f"Activity updated: { row_id } " )
85+ flash ("Activity updated!" )
8886 else :
8987 # Create a document with the activity provided
9088 document : dict = create_document (activity )
@@ -93,6 +91,7 @@ def index():
9391 # Append the activity to the activities list
9492 activities .append ((document ["_id" ], activity ))
9593 logger .info (f"Activity added: { activity } " )
94+ flash ("Activity added!" )
9695
9796 except (ConnectionError , ValueError ) as e :
9897 logger .error ("Error creating document: %s" , e )
@@ -102,7 +101,7 @@ def index():
102101 # Always reload activities from Cosmos DB on GET (refresh)
103102 read_documents (username )
104103
105- return render_template ('index.html' , activities = activities , username = username , edit_id = edit_id , edit_activity = edit_activity )
104+ return render_template ('index.html' , activities = activities , username = username )
106105
107106@app .route ('/favicon.ico' )
108107def favicon ():
@@ -115,20 +114,7 @@ def delete(activity_id: int):
115114 if 0 <= activity_id < len (activities ):
116115 # Delete the document from MongoDB
117116 mongodb_client .delete_document_by_id (activities [activity_id ][0 ])
118-
119- return redirect (url_for ('index' ))
120-
121- @app .route ('/update/<int:activity_id>' , methods = ['GET' ])
122- def update (activity_id : int ):
123- """Handle updating of an activity by its index in the list."""
124- try :
125- if 0 <= activity_id < len (activities ):
126- db_activity_id = activities [activity_id ][0 ]
127- activity_text = activities [activity_id ][1 ]
128- # Redirect to index with edit parameters
129- return redirect (url_for ('index' , edit_id = db_activity_id , edit_activity = activity_text ))
130- except (ConnectionError , ValueError ) as e :
131- logger .error ("Error preparing activity for update: %s" , e )
117+ flash ("Activity deleted." )
132118
133119 return redirect (url_for ('index' ))
134120
0 commit comments