Browse Source

Add new email base template and extend it for new throttle warning email

James Kiger 4 months ago
parent
commit
7eb460f784

+ 1 - 1
apps/organizations_ext/email.py

@@ -21,13 +21,13 @@ class MetQuotaEmail(DetailEmail):
         base_url = settings.GLITCHTIP_URL.geturl()
         organization = self.object
         subscription_link = f"{base_url}/{organization.slug}/settings/subscription"
-        context["organization_name"] = organization.name
         product = Product.objects.filter(
             plan__subscriptions__customer__subscriber=organization,
             plan__subscriptions__status="active",
         ).first()
         context.update(
             {
+                "organization": organization,
                 "product": product,
                 "event_limit": product.metadata.get("events") if product else None,
                 "subscription_link": subscription_link,

File diff suppressed because it is too large
+ 1 - 1
apps/organizations_ext/templates/organizations/met-quota-drip.html


+ 12 - 5
apps/organizations_ext/templates/organizations/met-quota-drip.txt

@@ -1,5 +1,12 @@
-You have reached your event quota
-Organization: {{ organization_name }}
-Your plan allows for {{ event_limit }} events per month, and your projects have exceeded that limit.
-You will no longer receive events until the monthly cycle resets, or you upgrade your plan.
-Manage your subscription: {{ subscription_link }}"
+Hello and thank you for using GlitchTip. We noticed your organization {{ organization.name|striptags }}
+has exceeded its monthly event limit on your {{ product.name }} and wanted to give you a heads up.
+Your plan allows for {{ event_limit }} events, but for the current billing period we have received
+###EVENT_COUNT### events for your organization. Here are a couple options to avoid this in the future.
+
+Upgrade to a new plan for more events at this link: {{ subscription_link }}
+
+Configure your SDK to send a lower rate of events to GlitchTip
+
+In the meantime, we have placed a {{ organization.event_throttle_rate }}% throttle on incoming events
+from projects on your organization account for this billing period. If you choose to upgrade your plan,
+this throttle will be removed. Otherwise, it will reset at the beginning of your next billing cycle.

+ 214 - 0
templates/email/email_base.html

@@ -0,0 +1,214 @@
+{% load static settings %}
+
+<!-- Based on Cerberus email templates: https://www.cerberusemail.com/templates -->
+<!DOCTYPE html>
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
+<head>
+    <meta charset="utf-8"> <!-- utf-8 works for most cases -->
+    <meta name="viewport" content="width=device-width"> <!-- Forcing initial-scale shouldn't be necessary -->
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Use the latest (edge) version of IE rendering engine -->
+    <meta name="x-apple-disable-message-reformatting">  <!-- Disable auto-scale in iOS 10 Mail entirely -->
+    <meta name="format-detection" content="telephone=no,address=no,email=no,date=no,url=no"> <!-- Tell iOS not to automatically link certain text strings. -->
+    <meta name="color-scheme" content="light dark">
+    <meta name="supported-color-schemes" content="light dark">
+
+    <title>
+        {% block title_text %}{% endblock %}
+    </title> <!-- The title tag shows in email notifications, like Android 4.4. -->
+
+
+    <!-- CSS Reset : BEGIN -->
+    <style>
+
+        /* What it does: Tells the email client that both light and dark styles are provided. A duplicate of meta color-scheme meta tag above. */
+        :root {
+          color-scheme: light dark;
+          supported-color-schemes: light dark;
+        }
+
+        /* What it does: Remove spaces around the email design added by some email clients. */
+        /* Beware: It can remove the padding / margin and add a background color to the compose a reply window. */
+        html,
+        body {
+            margin: 0 auto !important;
+            padding: 0 !important;
+            height: 100% !important;
+            width: 100% !important;
+        }
+
+        /* What it does: Stops email clients resizing small text. */
+        * {
+            -ms-text-size-adjust: 100%;
+            -webkit-text-size-adjust: 100%;
+        }
+
+        /* What it does: Centers email on Android 4.4 */
+        div[style*="margin: 16px 0"] {
+            margin: 0 !important;
+        }
+
+        /* What it does: forces Samsung Android mail clients to use the entire viewport */
+        #MessageViewBody, #MessageWebViewDiv{
+            width: 100% !important;
+        }
+
+        /* What it does: Stops Outlook from adding extra spacing to tables. */
+        table,
+        td {
+            mso-table-lspace: 0pt !important;
+            mso-table-rspace: 0pt !important;
+        }
+
+        /* What it does: Fixes webkit padding issue. */
+        table {
+            border-spacing: 0 !important;
+            border-collapse: collapse !important;
+            table-layout: fixed !important;
+            margin: 0 auto !important;
+        }
+
+        /* What it does: Uses a better rendering method when resizing images in IE. */
+        img {
+            -ms-interpolation-mode:bicubic;
+        }
+
+        /* What it does: Prevents Windows 10 Mail from underlining links despite inline CSS. Styles for underlined links should be inline. */
+        a {
+            text-decoration: none;
+        }
+
+        /* What it does: A work-around for email clients meddling in triggered links. */
+        a[x-apple-data-detectors],  /* iOS */
+        .unstyle-auto-detected-links a,
+        .aBn {
+            border-bottom: 0 !important;
+            cursor: default !important;
+            color: inherit !important;
+            text-decoration: none !important;
+            font-size: inherit !important;
+            font-family: inherit !important;
+            font-weight: inherit !important;
+            line-height: inherit !important;
+        }
+
+        /* What it does: Prevents Gmail from displaying a download button on large, non-linked images. */
+        .a6S {
+            display: none !important;
+            opacity: 0.01 !important;
+        }
+
+        /* What it does: Prevents Gmail from changing the text color in conversation threads. */
+        .im {
+            color: inherit !important;
+        }
+
+        /* If the above doesn't work, add a .g-img class to any image in question. */
+        img.g-img + div {
+            display: none !important;
+        }
+
+        /* What it does: Removes right gutter in Gmail iOS app: https://github.com/TedGoas/Cerberus/issues/89  */
+        /* Create one of these media queries for each additional viewport size you'd like to fix */
+
+        /* iPhone 4, 4S, 5, 5S, 5C, and 5SE */
+        @media only screen and (min-device-width: 320px) and (max-device-width: 374px) {
+            u ~ div .email-container {
+                min-width: 320px !important;
+            }
+        }
+        /* iPhone 6, 6S, 7, 8, and X */
+        @media only screen and (min-device-width: 375px) and (max-device-width: 413px) {
+            u ~ div .email-container {
+                min-width: 375px !important;
+            }
+        }
+        /* iPhone 6+, 7+, and 8+ */
+        @media only screen and (min-device-width: 414px) {
+            u ~ div .email-container {
+                min-width: 414px !important;
+            }
+        }
+
+    </style>
+    <!-- CSS Reset : END -->
+
+    <!-- Progressive Enhancements : BEGIN -->
+    <style>
+	    @media screen and (max-width: 600px) {
+
+	        /* What it does: Adjust typography on small screens to improve readability */
+	    .email-container {
+            p, li{
+	            font-size: 17px !important;
+	        }
+        }
+
+	    }
+    </style>
+    <!-- Progressive Enhancements : END -->
+
+</head>
+<!--
+	The email background color is defined in three places:
+	1. body tag: for most email clients
+	2. center tag: for Gmail and Inbox mobile apps and web versions of Gmail, GSuite, Inbox, Yahoo, AOL, Libero, Comcast, freenet, Mail.ru, Orange.fr
+	3. mso conditional: For Windows 10 Mail
+-->
+<body width="100%" style="margin: 0; padding: 0 !important; mso-line-height-rule: exactly; background-color: #fafafa;" class="email-bg">
+	<center role="article" aria-roledescription="email" lang="en" style="width: 100%; background-color: #fafafa;" class="email-bg">
+    <!--[if mso | IE]>
+    <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #fafafa;" class="email-bg">
+    <tr>
+    <td>
+    <![endif]-->
+
+        <!--
+            Set the email width. Defined in two places:
+            1. max-width for all clients except Desktop Windows Outlook, allowing the email to squish on narrow but never go wider than 600px.
+            2. MSO tags for Desktop Windows Outlook enforce a 600px width.
+        -->
+        <div style="max-width: 600px; margin: 0 auto;" class="email-container">
+            <!--[if mso]>
+            <table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="600">
+            <tr>
+            <td>
+            <![endif]-->
+
+	        <!-- Email Body : BEGIN -->
+	        <table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: auto;">
+		        <!-- Email Header : BEGIN -->
+	            <tr>
+	                <td style="padding: 20px 0 12px 0; text-align: left">
+	                    <img src="{% get_domain %}{% static 'images/logo.png' %}" width="200" height="50" alt="alt_text" border="0" style="height: auto; background: #fafafa;">
+	                </td>
+	            </tr>
+		        <!-- Email Header : END -->
+
+                <tr>
+                    <td style="background-color: #fefefe;" class="darkmode-bg">
+                        <table role="presentation" cellspacing="0" cellpadding="0" width="100%">
+
+                            {% block content %}{% endblock %}
+
+                        </table>
+                    </td>
+                </tr>
+
+            </table>
+            <!-- Email Body : END -->
+
+            <!--[if mso]>
+            </td>
+            </tr>
+            </table>
+            <![endif]-->
+        </div>
+
+    <!--[if mso | IE]>
+    </td>
+    </tr>
+    </table>
+    <![endif]-->
+    </center>
+</body>
+</html>

Some files were not shown because too many files changed in this diff