|
24 | 24 | from app.models.programManager import ProgramManager |
25 | 25 | from app.models.backgroundCheck import BackgroundCheck |
26 | 26 | from app.models.emergencyContact import EmergencyContact |
27 | | -from app.models.eventParticipant import EventParticipant |
28 | 27 | from app.models.courseInstructor import CourseInstructor |
29 | 28 | from app.models.backgroundCheckType import BackgroundCheckType |
30 | 29 |
|
|
39 | 38 | from app.logic.landingPage import getManagerProgramDict, getActiveEventTab |
40 | 39 | from app.logic.minor import toggleMinorInterest, declareMinorInterest, getCommunityEngagementByTerm, getEngagementTotal |
41 | 40 | from app.logic.participants import hasGoneToTraining, unattendedRequiredEvents, getParticipationStatusForTrainings, checkUserRsvp, addPersonToEvent |
42 | | -from app.logic.users import addUserInterest, isBannedFromEvent, removeUserInterest, banUser, unbanUser, isEligibleForProgram, getUserBGCheckHistory, addProfileNote, deleteProfileNote, updateDietInfo, trainedParticipants |
| 41 | +from app.logic.users import * |
43 | 42 |
|
44 | 43 | @main_bp.route('/logout', methods=['GET']) |
45 | 44 | def redirectToLogout(): |
@@ -234,8 +233,8 @@ def viewUsersProfile(username): |
234 | 233 | managersProgramDict = getManagerProgramDict(g.current_user) |
235 | 234 | managersList = [id[1] for id in managersProgramDict.items()] |
236 | 235 | totalSustainedEngagements = getEngagementTotal(getCommunityEngagementByTerm(volunteer)) |
237 | | - handbookOverdue = getHandbookStatus(volunteer) |
238 | 236 |
|
| 237 | + handbookOverdue = getHandbookStatus(volunteer) |
239 | 238 | training = hasGoneToTraining(g.current_user, g.current_term) |
240 | 239 |
|
241 | 240 | return render_template ("/main/userProfile.html", |
@@ -390,22 +389,34 @@ def eventTravelForm(eventID): |
390 | 389 | userList = userList, |
391 | 390 | ) |
392 | 391 |
|
393 | | -@main_bp.route('/profile/addNote', methods=['POST']) |
| 392 | +@main_bp.route("/profile/addNote", methods=["POST"]) |
394 | 393 | def addNote(): |
395 | | - """ |
396 | | - This function adds a note to the user's profile. |
397 | | - """ |
398 | | - postData = request.form |
399 | 394 | try: |
400 | | - note = addProfileNote(postData["visibility"], postData["bonner"] == "yes", postData["noteTextbox"], postData["username"]) |
| 395 | + noteData = getProfileNoteData( |
| 396 | + request.form, |
| 397 | + includeUsername=True, |
| 398 | + ) |
| 399 | + addProfileNote(**noteData) |
401 | 400 | flash("Successfully added profile note", "success") |
402 | | - return redirect(url_for("main.viewUsersProfile", username=postData["username"])) |
403 | | - except Exception as e: |
404 | | - print("Error adding note", e) |
| 401 | + except Exception as error: |
| 402 | + print("Error adding profile note:", error) |
405 | 403 | flash("Failed to add profile note", "danger") |
406 | | - return "Failed to add profile note", 500 |
407 | | - |
408 | | - |
| 404 | + return str(error), 500 |
| 405 | + return "success" |
| 406 | +@main_bp.route("/<username>/editNote", methods=["POST"]) |
| 407 | +def editProfileNote(username): |
| 408 | + try: |
| 409 | + noteData = getProfileNoteData( request.form, includeId=True, ) |
| 410 | + profileNote = ProfileNote.get_by_id(noteData["profileNoteID"] ) |
| 411 | + if (profileNote.user.username != username or (profileNote.note.createdBy != g.current_user and not g.current_user.isCeltsAdmin) ): |
| 412 | + abort(403) |
| 413 | + updateProfileNote(**noteData) |
| 414 | + flash("Successfully updated profile note", "success") |
| 415 | + except Exception as error: |
| 416 | + print("Error updating profile note:", error) |
| 417 | + flash("Failed to update profile note", "danger") |
| 418 | + return str(error), 500 |
| 419 | + return "success" |
409 | 420 | @main_bp.route('/<username>/deleteNote', methods=['POST']) |
410 | 421 | def deleteNote(username): |
411 | 422 | """ |
|
0 commit comments