Coverage for functions \ flipdare \ message \ email_subject.py: 100%

39 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-05-08 12:22 +1000

1#!/usr/bin/env python 

2# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved. 

3# 

4# This file is part of Flipdare's proprietary software and contains 

5# confidential and copyrighted material. Unauthorised copying, 

6# modification, distribution, or use of this file is strictly 

7# prohibited without prior written permission from Flipdare Pty Ltd. 

8# 

9# This software includes third-party components licensed under MIT, 

10# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details. 

11# 

12 

13 

14from flipdare.constants import COMPANY_SHORT_NAME 

15 

16__all__ = [ 

17 "UserEmailSubject", 

18 "AdminEmailSubject", 

19] 

20 

21_SHORT = COMPANY_SHORT_NAME 

22 

23# NOTE: 

24# 1. Brevity is King: 

25# - Keep it under 35 to 40 characters so it doesn't get cut off on mobile screens where most young adults check email. 

26# 2. Emojis: 

27# - Use them sparingly to add a visual, friendly component (e.g., 💸, ⚡, 📩). 

28# 3. The "From" Field: 

29# - Ensure your company name is in the "From" field so they know who is asking, 

30# allowing your subject line to stay purely focused on the message. 

31 

32 

33class UserEmailSubject: 

34 SIGNUP_CODE = f"Finish your {_SHORT} Signup!" 

35 PASSWORD_RESET = "A request has been made to reset your password" # noqa: S105 

36 

37 INVITE_TMPL = "{NAME} wants to you to join" 

38 INVITE_REMINDER = "Reminder, you have pending invite/s." 

39 

40 DELETE_ACCOUNT = f"A request has been made to delete your {_SHORT} account" 

41 DELETE_ACCOUNT_COMPLETE = f"Your {_SHORT} Account has been Deleted" 

42 

43 # friend 

44 FRIEND_REQUEST_TMPL = "{NAME} wants to connect" 

45 FRIEND_RESPONSE_TMPL = "{NAME} accepted your friend request" 

46 # group 

47 GROUP_REQUEST_TMPL = "The group {NAME} wants your skills!" 

48 

49 # group dare 

50 GROUP_DARED_TMPL = "{NAME} created new dare for group {GROUP_NAME}. The die is cast!." 

51 GROUP_DARED_RESPONSE_TMPL = "{NAME} accepted a dare for group {GROUP_NAME}. A champion rises!" 

52 GROUP_DARED_COMPLETE_TMPL = "Victory! {NAME} completed a dare for group {GROUP_NAME}." 

53 

54 # dare 

55 DARED_TMPL = "{NAME} has dared you! You game?" 

56 DARED_RESPONSE_TMPL = "Accepted! {NAME} accepted your dare!" 

57 DARED_COMPLETE_TMPL = "Skills! {NAME} completed your dare!" 

58 

59 # pledge 

60 PLEDGE_UPDATE_TMPL = "Your pledge to {NAME} has been updated. The wheels are turning.." 

61 PLEDGE_PAYMENT_NOTICE_TMPL = "{NAME} is waiting for his bread!" 

62 PLEDGE_PAYMENT_COMPLETE_TMPL = "Your pledge to {NAME} has been completed! Cha-ching!" 

63 

64 # voting 

65 VOTE_STARTED_TMPL = "Cast your vote for {NAME} now!" 

66 VOTE_DECISION_TMPL = "The tribe has spoken on {NAME}! See the results now!" 

67 VOTE_REMINDER_TMPL = "Reminder, cast your vote for {NAME} before it's too late!" 

68 

69 # flagging 

70 FLAG_REVIEW = "Your content has been flagged for review" 

71 FLAG_RECIPIENT = "Not good news. Some of your content has been flagged for review" 

72 

73 FLAG_RESTRICTION_APPLIED = "Oh No! A Restriction has been Applied" 

74 FLAG_RESTRICTION_REMOVED = "Woo hoo! Restriction Removed from your Account" 

75 

76 USER_SUMMARY_TMPL = "Your daily update for {DATE_STR} is here!" 

77 

78 

79class AdminEmailSubject: 

80 CONTACT = "Online Contact Request: {EMAIL} - {LABEL}" 

81 

82 APP_LOG = "{LOG_TYPE} - App Log Report - {SOURCE}" 

83 ADMIN_REPORT = "{PRIORITY} Admin Report: {REPORT_NAME} - {REPORT_DATE}" 

84 CRON_REPORT = "Cron {JOB_TYPE} - {CRON_DATE} - {OUTCOME}" 

85 

86 COMMAND = "{COMMAND} Report {OUTCOME}: {REPORT_NAME} - {REPORT_DATE}" 

87 

88 FLAG_REVIEW = "**Content Flagged for Review** - {LABEL} - {OBJ_TYPE} ({OBJ_ID})" 

89 FLAG_NEW_SEVERE = "**SEVERE Content Flagged** - {LABEL} - {OBJ_TYPE} ({OBJ_ID})" 

90 FLAG_NEW_MAJOR = "**MAJOR Content Flagged** - {LABEL} - {OBJ_TYPE} ({OBJ_ID})"