def send_welcome_message(user: User): """Sends welcome message to new user at Sign up""" org_code = current_app.config["ORG_CODE"] text_template = get_txt_template("welcome_message_en.txt") hot_welcome_section = get_txt_template("hot_welcome_section_en.txt") replace_list = [ ["[USERNAME]", user.username], ["[ORG_CODE]", org_code], ["[ORG_NAME]", current_app.config["ORG_NAME"]], ["[SETTINGS_LINK]", MessageService.get_user_settings_link()], [ "[HOT_WELCOME]", hot_welcome_section if org_code == "HOT" else "" ], ] text_template = template_var_replacing(text_template, replace_list) welcome_message = Message() welcome_message.message_type = MessageType.SYSTEM.value welcome_message.to_user_id = user.id welcome_message.subject = "Welcome to the {} Tasking Manager".format( org_code) welcome_message.message = text_template welcome_message.save() return welcome_message.id
def notify_level_upgrade(user_id: int, username: str, level: str): text_template = get_txt_template("level_upgrade_message_en.txt") replace_list = [ ["[USERNAME]", username], ["[LEVEL]", level], ["[ORG_CODE]", current_app.config["ORG_CODE"]], ] text_template = template_var_replacing(text_template, replace_list) level_upgrade_message = Message() level_upgrade_message.to_user_id = user_id level_upgrade_message.subject = "Mapper level upgrade" level_upgrade_message.message = text_template level_upgrade_message.save()
def send_message_after_validation( status: int, validated_by: int, mapped_by: int, task_id: int, project_id: int ): """ Sends mapper a notification after their task has been marked valid or invalid """ if validated_by == mapped_by: return # No need to send a notification if you've verified your own task user = UserService.get_user_by_id(mapped_by) text_template = get_txt_template( "invalidation_message_en.txt" if status == TaskStatus.INVALIDATED else "validation_message_en.txt" ) status_text = ( "marked invalid" if status == TaskStatus.INVALIDATED else "validated" ) task_link = MessageService.get_task_link(project_id, task_id) replace_list = [ ["[USERNAME]", user.username], ["[TASK_LINK]", task_link], ["[ORG_NAME]", current_app.config["ORG_NAME"]], ] text_template = template_var_replacing(text_template, replace_list) messages = [] validation_message = Message() validation_message.message_type = ( MessageType.INVALIDATION_NOTIFICATION.value if status == TaskStatus.INVALIDATED else MessageType.VALIDATION_NOTIFICATION.value ) validation_message.project_id = project_id validation_message.task_id = task_id validation_message.from_user_id = validated_by validation_message.to_user_id = mapped_by validation_message.subject = ( f"{task_link} mapped by you in Project {project_id} has been {status_text}" ) validation_message.message = text_template messages.append(dict(message=validation_message, user=user)) # For email alerts MessageService._push_messages(messages)