Browse Source

Merge branch 'master' of https://github.com/mailcow/mailcow-dockerized

andryyy 5 years ago
parent
commit
19c17f005c
3 changed files with 71 additions and 36 deletions
  1. 17 6
      data/assets/templates/quarantine.tpl
  2. 51 27
      data/assets/templates/quota.tpl
  3. 3 3
      data/web/lang/lang.en.json

+ 17 - 6
data/assets/templates/quarantine.tpl

@@ -1,5 +1,6 @@
 <html>
   <head>
+  <meta name="x-apple-disable-message-reformatting" />
   <style>
   body {
     font-family: Helvetica, Arial, Sans-Serif;
@@ -15,12 +16,22 @@
     border-bottom: 1px solid #ddd;
     vertical-align: top;
   }
+  td.fixed {
+    white-space: nowrap;
+  }
   th {
     background-color: #56B04C;
     color: white;
   }
-  tr:nth-child(even){background-color: #f2f2f2}
-
+  tr:nth-child(even) {
+    background-color: #f2f2f2;
+  }
+  /* mobile devices */
+  @media all and (max-width: 480px) {
+    .mob {
+    display: none;
+    }    
+  }
   </style>
   </head>
   <body>
@@ -31,15 +42,15 @@
     There are {{counter}} new messages waiting in quarantine:<br>
     {% endif %}
     <table>
-    <tr><th>Subject</th><th>Sender</th><th>Score</th><th>Arrived on</th>{% if quarantine_acl == 1 %}<th>Actions</th>{% endif %}</tr>
+    <tr><th>Subject</th><th>Sender</th><th class="mob">Score</th><th class="mob">Arrived on</th>{% if quarantine_acl == 1 %}<th>Actions</th>{% endif %}</tr>
     {% for line in meta %}
     <tr>
     <td>{{ line.subject|e }}</td>
     <td>{{ line.sender|e }}</td>
-    <td>{{ line.score }}</td>
-    <td>{{ line.created }}</td>
+    <td class="mob">{{ line.score }}</td>
+    <td class="mob">{{ line.created }}</td>
     {% if quarantine_acl == 1 %}
-    <td><a href="https://{{ hostname }}/qhandler/release/{{ line.qhash }}">release</a> | <a href="https://{{ hostname }}/qhandler/delete/{{ line.qhash }}">delete</a></td>
+    <td class="fixed"><a href="https://{{ hostname }}/qhandler/release/{{ line.qhash }}">release</a> | <a href="https://{{ hostname }}/qhandler/delete/{{ line.qhash }}">delete</a></td>
     {% endif %}
     </tr>
     {% endfor %}

+ 51 - 27
data/assets/templates/quota.tpl

@@ -1,29 +1,53 @@
 <html>
-  <head>
-  <style>
-  body {
-    font-family: sans-serif;
-  }
-  #progressbar {
-    background-color: #f0f0f0;
-    border-radius: 0px;
-    padding: 0px;
-    width:50%;
-  }  
-  #progressbar > div {
-    background-color: #ff9c9c;
-    width: {{percent}}%;
-    height: 20px;
-    border-radius: 0px;
-  }
-  </style>
-  </head>
-  <body>
-    <p>Hi {{username}}!<br><br>
-    Your mailbox is now {{percent}}% full, please consider deleting old messages to still be able to receive new mails in the future.<br>
-    <div id="progressbar">
-      <div></div>
-    </div>
-    </p>
-  </body>
+   <head>
+      <style>
+         body {
+         font-family: sans-serif;
+         }
+         div {
+         /* width based on text fill*/
+         display: inline-block;
+         }
+         #progressbar {
+         color: #000;
+         background-color: #f1f1f1;
+         width: 100%;
+         }
+         {% if (percent >= 95) %}
+         #progressbar > div {
+         color: #fff;
+         background-color: #FF0000;
+         text-align: center;
+         padding: 0.01em;
+         width: {{percent}}%;
+         }
+         {% elif (percent < 95) and (percent >= 80) %}
+         #progressbar > div {
+         color: #fff;
+         background-color: #FF8C00;
+         text-align: center;
+         padding: 0.01em;
+         width: {{percent}}%;
+         }
+         {% else %}
+         #progressbar > div {
+         color: #fff;
+         background-color: #00B000;
+         text-align: center;
+         padding: 0.01em;
+         width: {{percent}}%;
+         }
+         {% endif %}
+      </style>
+   </head>
+   <body>
+      <div>
+         <p>Hi {{username}}!<br><br>
+            Your mailbox is now {{percent}}% full, please consider deleting old messages to still be able to receive new mails in the future.<br>
+         <div id="progressbar">
+            <div>{{percent}}%</div>
+         </div>
+         </p>
+      </div>
+   </body>
 </html>

+ 3 - 3
data/web/lang/lang.en.json

@@ -204,7 +204,7 @@
         "no_record": "No record",
         "oauth2_client_id": "Client ID",
         "oauth2_client_secret": "Client secret",
-        "oauth2_info": "The OAuth2 implementation supports the grant type \"Authorization Code\" and issues refresh tokens.<br>\r\nThe server also automatically issues new refresh tokens, after a refresh token has been used.<br><br>\r\n→ The default scope is <i>profile</i>. Only mailbox users can be authenticated against OAuth2. If the scope parameter is omitted, it falls back to <i>profile</i>.<br>\r\n→ The <i>state</i> parameter is required to be sent by the client as part of the authorize request.<br><br>\r\nPathes for requests to the OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nRegenerating the client secret will not expire existing authorization codes, but they will fail to renew their token.<br><br>\r\nRevoking client tokens will cause immediate termination of all active sessions. All clients need to re-authenticate.",
+        "oauth2_info": "The OAuth2 implementation supports the grant type \"Authorization Code\" and issues refresh tokens.<br>\r\nThe server also automatically issues new refresh tokens, after a refresh token has been used.<br><br>\r\n→ The default scope is <i>profile</i>. Only mailbox users can be authenticated against OAuth2. If the scope parameter is omitted, it falls back to <i>profile</i>.<br>\r\n→ The <i>state</i> parameter is required to be sent by the client as part of the authorize request.<br><br>\r\nPaths for requests to the OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nRegenerating the client secret will not expire existing authorization codes, but they will fail to renew their token.<br><br>\r\nRevoking client tokens will cause immediate termination of all active sessions. All clients need to re-authenticate.",
         "oauth2_redirect_uri": "Redirect URI",
         "oauth2_renew_secret": "Generate new client secret",
         "oauth2_revoke_tokens": "Revoke all client tokens",
@@ -886,7 +886,7 @@
         "app_name": "App name",
         "app_passwds": "App passwords",
         "apple_connection_profile": "Apple connection profile",
-        "apple_connection_profile_complete": "This connection profile includes IMAP and SMTP parameters as well as CalDAV (calendars) and CardDAV (contacts) pathes for an Apple device.",
+        "apple_connection_profile_complete": "This connection profile includes IMAP and SMTP parameters as well as CalDAV (calendars) and CardDAV (contacts) paths for an Apple device.",
         "apple_connection_profile_mailonly": "This connection profile includes IMAP and SMTP configuration parameters for an Apple device.",
         "change_password": "Change password",
         "client_configuration": "Show configuration guides for email clients and smartphones",
@@ -1004,4 +1004,4 @@
         "session_token": "Form token invalid: Token mismatch",
         "session_ua": "Form token invalid: User-Agent validation error"
     }
-}
+}