예제 #1
0
 def accept_reject_invitation_request_for_team(
     from_user: int,
     from_username: str,
     to_user: int,
     sending_member: str,
     team_name: str,
     team_id: int,
     response: str,
 ):
     message = Message()
     message.message_type = MessageType.INVITATION_NOTIFICATION.value
     message.from_user_id = from_user
     message.to_user_id = to_user
     message.subject = "{} {}ed to join {}".format(
         MessageService.get_user_link(from_username),
         response,
         MessageService.get_team_link(team_name, team_id, True),
     )
     message.message = "{} has {}ed {}'s invitation to join the {} team.".format(
         MessageService.get_user_link(from_username),
         response,
         sending_member,
         MessageService.get_team_link(team_name, team_id, True),
     )
     message.add_message()
     message.save()
예제 #2
0
    def send_invite_to_join_team(from_user: int, from_username: str,
                                 to_user: int, team_name: str) -> Message:
        message = Message()
        message.message_type = MessageType.INVITATION_NOTIFICATION.value
        message.from_user_id = from_user
        message.to_user_id = to_user
        message.subject = "Invitation to join the team"
        message.message = f'<a href="http://127.0.0.1:5000/user/{from_username}">{from_username}\
            </a> has invited you to join the {team_name} team'

        message.add_message()
        message.save()
예제 #3
0
 def accept_reject_request_to_join_team(
     from_user: int, from_username: str, to_user: int, team_name: str, response: str
 ) -> Message:
     message = Message()
     message.message_type = MessageType.REQUEST_TEAM_NOTIFICATION.value
     message.from_user_id = from_user
     message.to_user_id = to_user
     message.subject = "Request to join team"
     message.message = f'<a href="http://127.0.0.1:5000/user/{from_username}">{from_username}\
         </a> has {response}ed your request to join the {team_name} team'
     message.add_message()
     message.save()
예제 #4
0
    def send_request_to_join_team(from_user: int, from_username: str,
                                  to_user: int, team_name: str) -> Message:

        base_url = current_app.config["APP_BASE_URL"]
        message = Message()
        message.message_type = MessageType.REQUEST_TEAM_NOTIFICATION.value
        message.from_user_id = from_user
        message.to_user_id = to_user
        message.subject = "Request to join team"
        message.message = f'<a href="{base_url}/user/{from_username}">{from_username}\
            </a> has requested to join the {team_name} team'

        message.add_message()
        message.save()
예제 #5
0
 def send_invite_to_join_team(from_user: int, from_username: str,
                              to_user: int, team_name: str, team_id: int):
     message = Message()
     message.message_type = MessageType.INVITATION_NOTIFICATION.value
     message.from_user_id = from_user
     message.to_user_id = to_user
     message.subject = "Invitation to join {}".format(
         MessageService.get_team_link(team_name, team_id, False))
     message.message = "{} has invited you to join the {} team.\
         Access the {}'s page to accept or reject that invitation.".format(
         MessageService.get_user_link(from_username),
         MessageService.get_team_link(team_name, team_id, False),
         MessageService.get_team_link(team_name, team_id, False),
     )
     message.add_message()
     message.save()
예제 #6
0
 def send_request_to_join_team(from_user: int, from_username: str,
                               to_user: int, team_name: str, team_id: int):
     message = Message()
     message.message_type = MessageType.REQUEST_TEAM_NOTIFICATION.value
     message.from_user_id = from_user
     message.to_user_id = to_user
     message.subject = "{} requested to join {}".format(
         MessageService.get_user_link(from_username),
         MessageService.get_team_link(team_name, team_id, True),
     )
     message.message = "{} has requested to join the {} team.\
         Access the team management page to accept or reject that request.".format(
         MessageService.get_user_link(from_username),
         MessageService.get_team_link(team_name, team_id, True),
     )
     message.add_message()
     message.save()
예제 #7
0
 def accept_reject_invitation_request_for_team(
     from_user: int,
     from_username: str,
     to_user: int,
     sending_member: str,
     team_name: str,
     response: str,
 ) -> Message:
     message = Message()
     message.message_type = MessageType.INVITATION_NOTIFICATION.value
     message.from_user_id = from_user
     message.to_user_id = to_user
     message.subject = "Request to join team"
     message.message = f'<a href="http://127.0.0.1:5000/user/{from_username}">{from_username}\
         </a> has {response}ed {sending_member}\'s invitation to join the {team_name} team'
     message.add_message()
     message.save()
예제 #8
0
    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 message to yourself

        user = UserService.get_user_by_id(mapped_by)
        if user.validation_message is False:
            return  # No need to send validation message
        if user.projects_notifications is False:
            return

        text_template = get_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)
        text_template = text_template.replace("[USERNAME]", user.username)
        text_template = text_template.replace("[TASK_LINK]", task_link)

        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"Your mapping in Project {project_id} on {task_link} has just been {status_text}"
        validation_message.message = text_template
        validation_message.add_message()

        SMTPService.send_email_alert(
            user.email_address, user.username, validation_message.id
        )
예제 #9
0
 def accept_reject_request_to_join_team(
     from_user: int,
     from_username: str,
     to_user: int,
     team_name: str,
     team_id: int,
     response: str,
 ):
     message = Message()
     message.message_type = MessageType.REQUEST_TEAM_NOTIFICATION.value
     message.from_user_id = from_user
     message.to_user_id = to_user
     message.subject = "Request to join {} was {}ed".format(
         MessageService.get_team_link(team_name, team_id, False), response)
     message.message = "{} has {}ed your request to join the {} team.".format(
         MessageService.get_user_link(from_username),
         response,
         MessageService.get_team_link(team_name, team_id, False),
     )
     message.add_message()
     message.save()