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
« 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#
14from flipdare.constants import COMPANY_SHORT_NAME
16__all__ = [
17 "UserEmailSubject",
18 "AdminEmailSubject",
19]
21_SHORT = COMPANY_SHORT_NAME
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.
33class UserEmailSubject:
34 SIGNUP_CODE = f"Finish your {_SHORT} Signup!"
35 PASSWORD_RESET = "A request has been made to reset your password" # noqa: S105
37 INVITE_TMPL = "{NAME} wants to you to join"
38 INVITE_REMINDER = "Reminder, you have pending invite/s."
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"
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!"
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}."
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!"
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!"
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!"
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"
73 FLAG_RESTRICTION_APPLIED = "Oh No! A Restriction has been Applied"
74 FLAG_RESTRICTION_REMOVED = "Woo hoo! Restriction Removed from your Account"
76 USER_SUMMARY_TMPL = "Your daily update for {DATE_STR} is here!"
79class AdminEmailSubject:
80 CONTACT = "Online Contact Request: {EMAIL} - {LABEL}"
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}"
86 COMMAND = "{COMMAND} Report {OUTCOME}: {REPORT_NAME} - {REPORT_DATE}"
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})"