Add activity logs table
This commit is contained in:
26
app.py
26
app.py
@@ -160,6 +160,7 @@ def person_overview(person_id):
|
||||
def create_person():
|
||||
name = request.form.get("name")
|
||||
new_person_id = db.create_person(name)
|
||||
db.activityRequest.log(current_user.id, 'CREATE_PERSON', 'person', new_person_id, f"Created person: {name}")
|
||||
return render_template('partials/person.html', person_id=new_person_id, name=name), 200, {"HX-Trigger": "updatedPeople"}
|
||||
|
||||
|
||||
@@ -168,7 +169,9 @@ def create_person():
|
||||
@admin_required
|
||||
@validate_person
|
||||
def delete_person(person_id):
|
||||
name = db.get_person_name(person_id)
|
||||
db.delete_person(person_id)
|
||||
db.activityRequest.log(current_user.id, 'DELETE_PERSON', 'person', person_id, f"Deleted person: {name}")
|
||||
return "", 200, {"HX-Trigger": "updatedPeople"}
|
||||
|
||||
|
||||
@@ -187,7 +190,9 @@ def get_person_edit_form(person_id):
|
||||
@require_ownership
|
||||
def update_person_name(person_id):
|
||||
new_name = request.form.get("name")
|
||||
old_name = db.get_person_name(person_id)
|
||||
db.update_person_name(person_id, new_name)
|
||||
db.activityRequest.log(current_user.id, 'UPDATE_PERSON_NAME', 'person', person_id, f"Updated name for {old_name} to {new_name}")
|
||||
return render_template('partials/person.html', person_id=person_id, name=new_name), 200, {"HX-Trigger": "updatedPeople"}
|
||||
|
||||
|
||||
@@ -203,6 +208,7 @@ def create_exercise():
|
||||
name = request.form.get("name")
|
||||
attribute_ids = request.form.getlist('attribute_ids')
|
||||
exercise = db.create_exercise(name, attribute_ids)
|
||||
db.activityRequest.log(current_user.id, 'CREATE_EXERCISE', 'exercise', exercise['exercise_id'], f"Created exercise: {name}")
|
||||
return render_template('partials/exercise.html',
|
||||
exercise_id=exercise['exercise_id'],
|
||||
name=exercise['name'],
|
||||
@@ -250,6 +256,7 @@ def update_exercise(exercise_id):
|
||||
new_name = request.form.get('name')
|
||||
attribute_ids = request.form.getlist('attribute_ids')
|
||||
exercise = db.update_exercise(exercise_id, new_name, attribute_ids)
|
||||
db.activityRequest.log(current_user.id, 'UPDATE_EXERCISE', 'exercise', exercise_id, f"Updated exercise: {new_name}")
|
||||
return render_template('partials/exercise.html',
|
||||
exercise_id=exercise_id,
|
||||
name=exercise['name'],
|
||||
@@ -280,6 +287,23 @@ def settings():
|
||||
return render_template('settings.html', people=people, exercises=exercises, all_attributes=formatted_options)
|
||||
|
||||
|
||||
@app.route("/settings/activity_logs")
|
||||
@login_required
|
||||
def settings_activity_logs():
|
||||
limit = 50
|
||||
offset = request.args.get('offset', 0, type=int)
|
||||
logs = db.activityRequest.get_recent_logs(limit=limit, offset=offset)
|
||||
|
||||
# Check if there are more logs to load
|
||||
has_more = len(logs) == limit
|
||||
|
||||
return render_template('partials/activity_logs.html',
|
||||
logs=logs,
|
||||
offset=offset,
|
||||
limit=limit,
|
||||
has_more=has_more)
|
||||
|
||||
|
||||
# Routes moved to routes/tags.py blueprint
|
||||
|
||||
@ app.route("/person/<int:person_id>/exercise/<int:exercise_id>/sparkline", methods=['GET'])
|
||||
@@ -352,7 +376,9 @@ def add_exercise():
|
||||
@login_required
|
||||
@admin_required
|
||||
def delete_exercise(exercise_id):
|
||||
exercise = db.get_exercise(exercise_id)
|
||||
db.exercises.delete_exercise(exercise_id)
|
||||
db.activityRequest.log(current_user.id, 'DELETE_EXERCISE', 'exercise', exercise_id, f"Deleted exercise: {exercise['name']}")
|
||||
return ""
|
||||
|
||||
@app.teardown_appcontext
|
||||
|
||||
Reference in New Issue
Block a user