def main(): flash("Getting user list...") users = Users() userList = users.getAllUsers() notificationsManager = NotificationsManager() for user in userList: flash("Looking for " + str(user.uuid) + ":" + user.username + " notifications...") notificationList = notificationsManager.getNotifications(userUuid = str(user.uuid), username = user.username, automaticallySetAsRead = False) if len(notificationList["notifications"]): recipientUuid = notificationList["notifications"][0]["recipientUuid"] messageText = "" for notification in notificationList["notifications"]: messageText += notification["messageSubject"] + " (" + notification["sendTimestamp"] + ")" + "\n" messageText += "----------------------------------------------------" + "\n" messageText += notification["messageText"] + "\n" messageText += "\n\n\n" messageSubject = "[BUILDING RULES] - Notifications report" flash("Sending report to " + str(user.uuid) + ":" + user.username + ":" + user.email) notificationsManager.sendNotificationByEmail(recipientUuid = recipientUuid, messageSubject = messageSubject, messageText = messageText)
def userNotifications(username=None): if request.method == "POST": sessionKey = validateInput(request.form["sessionKey"]) userUuid = validateInput(request.form["userUuid"]) try: session = SessionManager() session.checkSessionValidity(sessionKey, userUuid) from app.backend.controller.notificationsManager import NotificationsManager notifications = NotificationsManager() return returnResult(notifications.getNotifications(username=username, userUuid=userUuid)) except Exception as e: return returnError(e)