Merged upstream master into task/3731/cdist_ssh_key_handler
This commit is contained in:
		
				commit
				
					
						1a43f4f810
					
				
			
		
					 23 changed files with 1373 additions and 847 deletions
				
			
		|  | @ -8,7 +8,7 @@ msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" | "Project-Id-Version: PACKAGE VERSION\n" | ||||||
| "Report-Msgid-Bugs-To: \n" | "Report-Msgid-Bugs-To: \n" | ||||||
| "POT-Creation-Date: 2017-09-02 03:08+0530\n" | "POT-Creation-Date: 2017-09-03 16:44+0000\n" | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||||
|  | @ -102,8 +102,11 @@ msgstr "" | ||||||
| msgid "SUBMIT" | msgid "SUBMIT" | ||||||
| msgstr "ABSENDEN" | msgstr "ABSENDEN" | ||||||
| 
 | 
 | ||||||
|  | msgid "Your Data Center Light Team" | ||||||
|  | msgstr "Dein Data Center Light Team" | ||||||
|  | 
 | ||||||
| msgid "Thank you for your request." | msgid "Thank you for your request." | ||||||
| msgstr "Vielen Dank für Ihre Anfrage." | msgstr "Vielen Dank für Deine Anfrage." | ||||||
| 
 | 
 | ||||||
| msgid "You are one step away from being our beta tester!" | msgid "You are one step away from being our beta tester!" | ||||||
| msgstr "" | msgstr "" | ||||||
|  | @ -125,47 +128,35 @@ msgstr "" | ||||||
| msgid "Thank you!" | msgid "Thank you!" | ||||||
| msgstr "Vielen Dank!" | msgstr "Vielen Dank!" | ||||||
| 
 | 
 | ||||||
| msgid "account activation" | msgid "Account Activation" | ||||||
| msgstr "Accountaktivierung" | msgstr "Account Aktivierung" | ||||||
| 
 | 
 | ||||||
| #, python-format | #, python-format | ||||||
| msgid "" | msgid "" | ||||||
| "\n" | "\n" | ||||||
| "                You can activate your %(dcl_text)s account by <a href=" | "You can activate your Data Center Light account by <a href=\"%(base_url)s" | ||||||
| "\"%(base_url)s%(activation_link)s\">clicking here</a>.<br/><br/>\n" | "%(activation_link)s\">clicking here</a>.<br/>\n" | ||||||
| "                You can also copy and paste the following link into the " | "You can also copy and paste the following link into the address bar of your " | ||||||
| "address bar of your browser and follow the link in order to activate your " | "browser<br/>\n" | ||||||
| "datacenterlight account.<br/>\n" | "to activate your Data Center Light account.<br/>\n" | ||||||
| "%(base_url)s%(activation_link)s\n" | "%(base_url)s%(activation_link)s\n" | ||||||
| "                " |  | ||||||
| msgstr "" | msgstr "" | ||||||
| "\n" | "\n" | ||||||
| "                <a href=\"%(base_url)s%(activation_link)s\">Klicke hier</a> " | "<a href=\"%(base_url)s%(activation_link)s\">Klicke hier</a> um deinen Data " | ||||||
| "um deinen %(dcl_text)s zu aktivieren.<br/><br/>\n" | "Center Light Account zu aktivieren oder kopiere den folgenden Link in die " | ||||||
| "                Oder kopiere den folgenden Link in die Adressleiste deines " | "Adressleiste deines Browsers.<br/>\n" | ||||||
| "Browsers und folge dann dem Link um deinen %(dcl_text)s Account zu " |  | ||||||
| "aktivieren.<br/>\n" |  | ||||||
| "%(base_url)s%(activation_link)s\n" | "%(base_url)s%(activation_link)s\n" | ||||||
| "                " |  | ||||||
| 
 |  | ||||||
| msgid "Your" |  | ||||||
| msgstr "Dein" |  | ||||||
| 
 |  | ||||||
| msgid "team" |  | ||||||
| msgstr "Team" |  | ||||||
| 
 | 
 | ||||||
| #, python-format | #, python-format | ||||||
| msgid "" | msgid "" | ||||||
| "\n" | "You can activate your Data Center Light account by clicking here.\n" | ||||||
| "Hi,\n" | "You can also copy and paste the following link into the address bar of your " | ||||||
| "\n" | "browser\n" | ||||||
| "You can activate your %(dcl_text)s account by clicking here %(base_url)s" | "to activate your Data Center Light account.\n" | ||||||
| "%(activation_link)s\n" | "%(base_url)s%(activation_link)s\n" | ||||||
| msgstr "" | msgstr "" | ||||||
| "\n" | "Klicke hier, um deinen Data Center Light Account zu aktivieren oder kopiere " | ||||||
| "Hallo,\n" | "den folgenden Link in die Adressleiste deines Browsers.\n" | ||||||
| "\n" |  | ||||||
| "Du kannst deinen %(dcl_text)s Account aktivieren, indem du hier klickst " |  | ||||||
| "%(base_url)s%(activation_link)s\n" | "%(base_url)s%(activation_link)s\n" | ||||||
| 
 | 
 | ||||||
| msgid "Home" | msgid "Home" | ||||||
|  | @ -481,6 +472,25 @@ msgstr "ist kein gültiger Name" | ||||||
| msgid "is not a proper email" | msgid "is not a proper email" | ||||||
| msgstr "ist keine gültige E-Mailadresse" | msgstr "ist keine gültige E-Mailadresse" | ||||||
| 
 | 
 | ||||||
|  | #~ msgid "" | ||||||
|  | #~ "\n" | ||||||
|  | #~ "Hi,\n" | ||||||
|  | #~ "\n" | ||||||
|  | #~ "You can activate your %(dcl_text)s account by clicking here %(base_url)s" | ||||||
|  | #~ "%(activation_link)s\n" | ||||||
|  | #~ msgstr "" | ||||||
|  | #~ "\n" | ||||||
|  | #~ "Hallo,\n" | ||||||
|  | #~ "\n" | ||||||
|  | #~ "Du kannst deinen %(dcl_text)s Account aktivieren, indem du hier klickst " | ||||||
|  | #~ "%(base_url)s%(activation_link)s\n" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Your" | ||||||
|  | #~ msgstr "Dein" | ||||||
|  | 
 | ||||||
|  | #~ msgid "team" | ||||||
|  | #~ msgstr "Team" | ||||||
|  | 
 | ||||||
| #~ msgid "Questions?" | #~ msgid "Questions?" | ||||||
| #~ msgstr "Fragen?" | #~ msgstr "Fragen?" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								datacenterlight/static/datacenterlight/img/dcl-email-bg.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								datacenterlight/static/datacenterlight/img/dcl-email-bg.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.9 KiB | 
|  | @ -0,0 +1,176 @@ | ||||||
|  | {% load static from staticfiles %} | ||||||
|  | {% load i18n %} | ||||||
|  | <!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b --> | ||||||
|  | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> | ||||||
|  | <html xmlns="http://www.w3.org/1999/xhtml" | ||||||
|  |       style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  | <head> | ||||||
|  |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||||||
|  |     <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||||
|  |     <title>{{dcl_text}}</title> | ||||||
|  | </head> | ||||||
|  | <body bgcolor="#ffffff" | ||||||
|  |       style="font-family: 'Lato', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;"> | ||||||
|  | <style type="text/css"> | ||||||
|  | @media only screen and (max-width: 480px) { | ||||||
|  |   table[class*="container-for-gmail-android"] { | ||||||
|  |     min-width: 290px !important; width: 100% !important; | ||||||
|  |   } | ||||||
|  |   img[class="force-width-gmail"] { | ||||||
|  |     display: none !important; width: 0 !important; height: 0 !important; | ||||||
|  |   } | ||||||
|  |   table[class="w320"] { | ||||||
|  |     width: 320px !important; | ||||||
|  |   } | ||||||
|  |   td[class*="mobile-header-padding-left"] { | ||||||
|  |     width: 160px !important; padding-left: 0 !important; | ||||||
|  |   } | ||||||
|  |   td[class*="mobile-header-padding-right"] { | ||||||
|  |     width: 160px !important; padding-right: 0 !important; | ||||||
|  |   } | ||||||
|  |   td[class="header-lg"] { | ||||||
|  |     font-size: 24px !important; padding-bottom: 5px !important; | ||||||
|  |   } | ||||||
|  |   td[class="content-padding"] { | ||||||
|  |     padding: 5px 0 5px !important; | ||||||
|  |   } | ||||||
|  |   td[class="button"] { | ||||||
|  |     padding: 5px 5px 30px !important; | ||||||
|  |   } | ||||||
|  |   td[class*="free-text"] { | ||||||
|  |     padding: 10px 18px 30px !important; | ||||||
|  |   } | ||||||
|  |   td[class~="mobile-hide-img"] { | ||||||
|  |     display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important; | ||||||
|  |   } | ||||||
|  |   td[class~="item"] { | ||||||
|  |     width: 140px !important; vertical-align: top !important; | ||||||
|  |   } | ||||||
|  |   td[class~="quantity"] { | ||||||
|  |     width: 50px !important; | ||||||
|  |   } | ||||||
|  |   td[class~="price"] { | ||||||
|  |     width: 90px !important; | ||||||
|  |   } | ||||||
|  |   td[class="item-table"] { | ||||||
|  |     padding: 30px 20px !important; | ||||||
|  |   } | ||||||
|  |   td[class="mini-container-left"] { | ||||||
|  |     padding: 0 15px 15px !important; display: block !important; width: 290px !important; | ||||||
|  |   } | ||||||
|  |   td[class="mini-container-right"] { | ||||||
|  |     padding: 0 15px 15px !important; display: block !important; width: 290px !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
|  | <table align="center" cellpadding="0" cellspacing="0" | ||||||
|  |        class="container-for-gmail-android" width="100%" | ||||||
|  |        style="border-collapse: collapse !important; min-width: 600px; font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |         <td align="left" valign="top" width="100%" | ||||||
|  |             style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" | ||||||
|  |             bgcolor="#ffffff"> | ||||||
|  |             <center style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                 <table cellspacing="0" cellpadding="0" width="100%" | ||||||
|  |                        bgcolor="#ffffff" | ||||||
|  |                        background="{{base_url}}{% static 'datacenterlight/img/dcl-email-bg.jpg' %}" | ||||||
|  |                        style="border-collapse: collapse !important; font-family: 'Lato', 'sans-serif' !important; background: transparent;"> | ||||||
|  |                     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                         <td width="100%" height="80" valign="top" | ||||||
|  |                             style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px; background-color: #ffffff" | ||||||
|  |                             align="center"> | ||||||
|  |                             <!--[if gte mso 9]> | ||||||
|  |                             <v:rect xmlns:v="urn:schemas-microsoft-com:vml" | ||||||
|  |                                     fill="true" stroke="false" | ||||||
|  |                                     style="mso-width-percent:1000;height:80px; v-text-anchor:middle;"> | ||||||
|  |                                 <v:fill type="tile" | ||||||
|  |                                         src="{{base_url}}{% static 'datacenterlight/img/dcl-email-bg.jpg' %}" | ||||||
|  |                                         color="#ffffff"/> | ||||||
|  |                                 <v:textbox inset="0,0,0,0"> | ||||||
|  |                             <![endif]--> | ||||||
|  |                             <center style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                                 <table cellpadding="0" cellspacing="0" | ||||||
|  |                                        width="600" class="w320" | ||||||
|  |                                        style="border-collapse: collapse !important; font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                                     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                                         <td class="pull-left mobile-header-padding-left" | ||||||
|  |                                             style="vertical-align: middle; border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 0px;" | ||||||
|  |                                             align="left" valign="middle"> | ||||||
|  |                                             <a href="{{base_url}}" | ||||||
|  |                                                style="font-family: 'Lato', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img | ||||||
|  |                                                     width="137" | ||||||
|  |                                                     src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" | ||||||
|  |                                                     alt="logo" | ||||||
|  |                                                     style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Lato', 'sans-serif' !important; border: none;"></a> | ||||||
|  |                                         </td> | ||||||
|  |                                         <td class="pull-right mobile-header-padding-right" | ||||||
|  |                                             style="color: #4d4d4d; border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" | ||||||
|  |                                             align="right"> | ||||||
|  |                                         </td> | ||||||
|  |                                     </tr> | ||||||
|  |                                 </table> | ||||||
|  |                             </center> | ||||||
|  |                             <!--[if gte mso 9]> | ||||||
|  |                             </v:textbox> | ||||||
|  |                             </v:rect> | ||||||
|  |                             <![endif]--> | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </table> | ||||||
|  |             </center> | ||||||
|  |         </td> | ||||||
|  |     </tr> | ||||||
|  |     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |         <td align="center" valign="top" width="100%" | ||||||
|  |             style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff; padding: 20px 0 5px;" | ||||||
|  |             class="content-padding" bgcolor="#f7f7f7"> | ||||||
|  |             <center style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                 <table cellspacing="0" cellpadding="0" width="600" class="w320" | ||||||
|  |                        style="border-collapse: collapse !important; font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                         <td class="header-lg" | ||||||
|  |                             style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5px 0px;" | ||||||
|  |                             align="center"> | ||||||
|  |                             {% block email_head %} | ||||||
|  |                             {% endblock %} | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                         <td class="free-text" | ||||||
|  |                             style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 5px 20px;" | ||||||
|  |                             align="center"> | ||||||
|  |                             <p> | ||||||
|  |                                 {% block email_body %} | ||||||
|  |                                 {% endblock %} | ||||||
|  |                             </p></td> | ||||||
|  |                     </tr> | ||||||
|  |                     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                         <td class="button" | ||||||
|  |                             style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 0;" | ||||||
|  |                             align="center">  | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </table> | ||||||
|  |             </center> | ||||||
|  |         </td> | ||||||
|  |     </tr> | ||||||
|  |     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |         <td align="center" valign="top" width="100%" | ||||||
|  |             style="height: 100px; border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" | ||||||
|  |             bgcolor="#ffffff"> | ||||||
|  |             <center style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                 <table cellspacing="0" cellpadding="0" width="600" class="w320" | ||||||
|  |                        style="border-collapse: collapse !important; font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                     <tr style="font-family: 'Lato', 'sans-serif' !important;"> | ||||||
|  |                         <td style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 5px 0px;text-align: left; line-height: 21px;;" | ||||||
|  |                             align="left">{% trans 'Your Data Center Light Team' %} | ||||||
|  |                         </td> | ||||||
|  |                     </tr> | ||||||
|  |                 </table> | ||||||
|  |             </center> | ||||||
|  |         </td> | ||||||
|  |     </tr> | ||||||
|  | </table> | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | {% load static from staticfiles %} | ||||||
|  | {% load i18n %} | ||||||
|  | {% block email_head %} | ||||||
|  | {% endblock %} | ||||||
|  | {% block email_body %} | ||||||
|  | {% endblock %} | ||||||
|  | {% trans 'Your Data Center Light Team' %} | ||||||
|  | @ -74,7 +74,7 @@ | ||||||
|             <![endif]--> |             <![endif]--> | ||||||
|               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> | <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 0px;" align="left" valign="middle"> | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> | ||||||
|  | @ -95,12 +95,12 @@ | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5 0;" align="center"> | <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5px 0px;" align="center"> | ||||||
|               {% trans "Thank you for your request." %} |               {% trans "Thank you for your request." %} | ||||||
|             </td> |             </td> | ||||||
|           </tr> |           </tr> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 7px 20px;" align="center"> | <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 5px 20px;" align="center"> | ||||||
|              <p>{% trans "You are one step away from being our beta tester!" %}  <br/><br/>  |              <p>{% trans "You are one step away from being our beta tester!" %}  <br/><br/>  | ||||||
|                {% trans "Currently we are running our tests to make sure everything runs perfectly." %}<br/> |                {% trans "Currently we are running our tests to make sure everything runs perfectly." %}<br/> | ||||||
|              {% trans "In the meantime, we would like to ask you a little patience<br/> until our team contacts you with beta access." %}<br/> |              {% trans "In the meantime, we would like to ask you a little patience<br/> until our team contacts you with beta access." %}<br/> | ||||||
|  | @ -117,7 +117,7 @@ | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> | <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 9px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 5px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| </td> | </td> | ||||||
|           </tr></table> |           </tr></table> | ||||||
| </center> | </center> | ||||||
|  |  | ||||||
|  | @ -73,7 +73,7 @@ | ||||||
|             <![endif]--> |             <![endif]--> | ||||||
|               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> | <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 0px;" align="left" valign="middle"> | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> | ||||||
|  | @ -94,12 +94,12 @@ | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5 0;" align="center"> | <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5px 0px;" align="center"> | ||||||
|               An user requested a beta access |               An user requested a beta access | ||||||
|             </td> |             </td> | ||||||
|           </tr> |           </tr> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 7px 20px;" align="center"> | <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 5px 20px;" align="center"> | ||||||
|              <p>User {{email}} requested beta access         </p></td> |              <p>User {{email}} requested beta access         </p></td> | ||||||
|           </tr> |           </tr> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|  | @ -113,7 +113,7 @@ | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> | <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 9px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 5px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| </td> | </td> | ||||||
|           </tr></table> |           </tr></table> | ||||||
| </center> | </center> | ||||||
|  |  | ||||||
|  | @ -73,7 +73,7 @@ | ||||||
|             <![endif]--> |             <![endif]--> | ||||||
|               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> | <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 0px;" align="left" valign="middle"> | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> | ||||||
|  | @ -94,14 +94,14 @@ | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5 0;" align="center"> | <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5px 0px;" align="center"> | ||||||
|               An user requested a beta access |               An user requested a beta access | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|             </td> |             </td> | ||||||
|           </tr> |           </tr> | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 7px 20px;" align="center"> | <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 5px 20px;" align="center"> | ||||||
|              <p>User {{email}} requested beta access         </p> |              <p>User {{email}} requested beta access         </p> | ||||||
|              {% for vm in vms %} |              {% for vm in vms %} | ||||||
|                 Type: {{vm.type}} - Amount: {{vm.amount}} |                 Type: {{vm.type}} - Amount: {{vm.amount}} | ||||||
|  | @ -119,7 +119,7 @@ | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> | <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 9px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 5px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | ||||||
| </td> | </td> | ||||||
|           </tr></table> |           </tr></table> | ||||||
| </center> | </center> | ||||||
|  |  | ||||||
|  | @ -1,132 +1,14 @@ | ||||||
|  | {% extends "datacenterlight/emails/base_email_datacenterlight.html" %} | ||||||
| {% load static from staticfiles %} | {% load static from staticfiles %} | ||||||
| {% load i18n %} | {% load i18n %} | ||||||
| <!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b --> | {% block email_head %} | ||||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> | {{dcl_text}} {% trans 'Account Activation' %} | ||||||
| <html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | {% endblock %} | ||||||
| <head> | {% block email_body %} | ||||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |  | ||||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> |  | ||||||
| <title>{{dcl_text}}</title> |  | ||||||
| </head> |  | ||||||
| <body bgcolor="#ffffff" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;"> |  | ||||||
| <style type="text/css"> |  | ||||||
| @media only screen and (max-width: 480px) { |  | ||||||
|   table[class*="container-for-gmail-android"] { |  | ||||||
|     min-width: 290px !important; width: 100% !important; |  | ||||||
|   } |  | ||||||
|   img[class="force-width-gmail"] { |  | ||||||
|     display: none !important; width: 0 !important; height: 0 !important; |  | ||||||
|   } |  | ||||||
|   table[class="w320"] { |  | ||||||
|     width: 320px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-left"] { |  | ||||||
|     width: 160px !important; padding-left: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-right"] { |  | ||||||
|     width: 160px !important; padding-right: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class="header-lg"] { |  | ||||||
|     font-size: 24px !important; padding-bottom: 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="content-padding"] { |  | ||||||
|     padding: 5px 0 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="button"] { |  | ||||||
|     padding: 5px 5px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="free-text"] { |  | ||||||
|     padding: 10px 18px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="mobile-hide-img"] { |  | ||||||
|     display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class~="item"] { |  | ||||||
|     width: 140px !important; vertical-align: top !important; |  | ||||||
|   } |  | ||||||
|   td[class~="quantity"] { |  | ||||||
|     width: 50px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="price"] { |  | ||||||
|     width: 90px !important; |  | ||||||
|   } |  | ||||||
|   td[class="item-table"] { |  | ||||||
|     padding: 30px 20px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-left"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-right"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| <table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff"> |  | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|       <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px; background-color: #ffffff" align="center"> |  | ||||||
|             <!--[if gte mso 9]> |  | ||||||
|             <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;"> |  | ||||||
|               <v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" /> |  | ||||||
|               <v:textbox inset="0,0,0,0"> |  | ||||||
|             <![endif]--> |  | ||||||
|               <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> |  | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |  | ||||||
|                     </td> |  | ||||||
|                   </tr></table> |  | ||||||
| </center> |  | ||||||
|               <!--[if gte mso 9]> |  | ||||||
|               </v:textbox> |  | ||||||
|             </v:rect> |  | ||||||
|             <![endif]--> |  | ||||||
|             </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5 0;" align="center"> |  | ||||||
|               {{dcl_text}} {% trans 'account activation' %} |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 7px 20px;" align="center"> |  | ||||||
|              <p> |  | ||||||
| {% blocktrans %} | {% blocktrans %} | ||||||
|                 You can activate your {{dcl_text}} account by <a href="{{base_url}}{{activation_link}}">clicking here</a>.<br/><br/> | You can activate your Data Center Light account by <a href="{{base_url}}{{activation_link}}">clicking here</a>.<br/> | ||||||
|                 You can also copy and paste the following link into the address bar of your browser and follow the link in order to activate your datacenterlight account.<br/> | You can also copy and paste the following link into the address bar of your browser<br/> | ||||||
|  | to activate your Data Center Light account.<br/> | ||||||
| {{base_url}}{{activation_link}} | {{base_url}}{{activation_link}} | ||||||
| {% endblocktrans %} | {% endblocktrans %} | ||||||
|              </p></td> | {% endblock %} | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="button" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 0;" align="center"> </td> |  | ||||||
|           </tr> |  | ||||||
| </table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff"> |  | ||||||
|       <center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 9px 0px;text-align: left; line-height: 21px;;" align="left">{% trans 'Your' %} {{dcl_text}} {% trans 'team' %}<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| </table> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -1,11 +1,10 @@ | ||||||
| {% load static from staticfiles %} | {% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} | ||||||
| {% load i18n %} | {% load i18n %} | ||||||
| {{dcl_text}} {% trans 'account activation' %} | {% block email_head %}{{dcl_text}} {% trans 'Account Activation' %}{% endblock %} | ||||||
| 
 | {% block email_body %} | ||||||
| {% blocktrans %} | {% blocktrans %}You can activate your Data Center Light account by clicking here. | ||||||
| Hi, | You can also copy and paste the following link into the address bar of your browser | ||||||
| 
 | to activate your Data Center Light account. | ||||||
| You can activate your {{dcl_text}} account by clicking here {{base_url}}{{activation_link}} | {{base_url}}{{activation_link}} | ||||||
| {% endblocktrans %} | {% endblocktrans %} | ||||||
| 
 | {% endblock %} | ||||||
| {% trans 'Your' %} {{dcl_text}} {% trans 'team' %} |  | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" | "Project-Id-Version: PACKAGE VERSION\n" | ||||||
| "Report-Msgid-Bugs-To: \n" | "Report-Msgid-Bugs-To: \n" | ||||||
| "POT-Creation-Date: 2017-09-06 22:27+0000\n" | "POT-Creation-Date: 2017-09-09 06:04+0000\n" | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||||
|  | @ -201,9 +201,48 @@ msgstr "Support / Kontakt" | ||||||
| 
 | 
 | ||||||
| #, python-format | #, python-format | ||||||
| msgid "" | msgid "" | ||||||
| "You're receiving this email because you requested a password reset for your " | "You have ordered a new virtual machine!\n" | ||||||
| "user account at %(site_name)s." | "<br/>\n" | ||||||
|  | "Your order of [%(vm_name)s] has been charged.<br/><br/>\n" | ||||||
|  | "You can view your invoice by clicking the button below.<br/><br/>\n" | ||||||
| msgstr "" | msgstr "" | ||||||
|  | "Du hast eine neue virtuelle Maschine bestellt!<br/>\n" | ||||||
|  | "Deine Bestellung von [%(vm_name)s] wurde erhoben.<br/><br/>\n" | ||||||
|  | "Um die Rechnung zu sehen, klicke auf den Button unten.<br/><br/>\n" | ||||||
|  | 
 | ||||||
|  | msgid "View Invoice" | ||||||
|  | msgstr "Zur Rechnung" | ||||||
|  | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "" | ||||||
|  | "You have ordered a new virtual machine!\n" | ||||||
|  | "Your order of [%(vm_name)s] has been charged.\n" | ||||||
|  | "You can view your invoice here.\n" | ||||||
|  | msgstr "" | ||||||
|  | "Du hast eine neue virtuelle Maschine bestellt!\n" | ||||||
|  | "Deine Bestellung von [%(vm_name)s] wurde erhoben.\n" | ||||||
|  | "Um die Rechnung zu sehen, klicke hier.\n" | ||||||
|  | 
 | ||||||
|  | msgid "Password Reset" | ||||||
|  | msgstr "Passwort zurücksetzen" | ||||||
|  | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "" | ||||||
|  | "\n" | ||||||
|  | "You're receiving this email because you requested a password reset for your " | ||||||
|  | "user account at %(site_name)s.<br/>\n" | ||||||
|  | "Please go to the following page and choose a new password: %(base_url)s" | ||||||
|  | "%(password_reset_url)s<br/>\n" | ||||||
|  | "If you didn't request a new password, ignore this e-mail.<br/>\n" | ||||||
|  | "Thank you!\n" | ||||||
|  | msgstr "" | ||||||
|  | "\n" | ||||||
|  | "Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " | ||||||
|  | "%(site_name)s zurücksetzen möchtest.<br/>\n" | ||||||
|  | "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" | ||||||
|  | "%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " | ||||||
|  | "dann ignoriere diese E-Mail.<br/>\n" | ||||||
|  | "Dankeschön!\n" | ||||||
| 
 | 
 | ||||||
| msgid "Please go to the following page and choose a new password:" | msgid "Please go to the following page and choose a new password:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  | @ -215,6 +254,67 @@ msgstr "" | ||||||
| msgid "The %(site_name)s team" | msgid "The %(site_name)s team" | ||||||
| msgstr "" | msgstr "" | ||||||
| 
 | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "" | ||||||
|  | "You're receiving this email because you requested a password reset for your " | ||||||
|  | "user account at %(site_name)s.\n" | ||||||
|  | "Please go to the following page and choose a new password: %(base_url)s" | ||||||
|  | "%(password_reset_url)s\n" | ||||||
|  | "If you didn't request a new password, ignore this e-mail.\n" | ||||||
|  | "Thank you!\n" | ||||||
|  | msgstr "" | ||||||
|  | "Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " | ||||||
|  | "%(site_name)s zurücksetzen möchtest.\n" | ||||||
|  | "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" | ||||||
|  | "%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " | ||||||
|  | "dann ignoriere diese E-Mail.\n" | ||||||
|  | "Dankeschön!\n" | ||||||
|  | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "" | ||||||
|  | "You're receiving this mail because your virtual machine [%(vm_name)s] has " | ||||||
|  | "been cancelled.<br/>\n" | ||||||
|  | "You can see your order status by clicking [my VM page] below.<br/>\n" | ||||||
|  | "If you want to order a new virtual machine, you can do it by clicking <a " | ||||||
|  | "href=\"%(base_url)s%(my_virtual_machines_url)s\">this link</a>.<br/>\n" | ||||||
|  | msgstr "" | ||||||
|  | "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] gekündigt " | ||||||
|  | "wurde.<br/>\n" | ||||||
|  | "Um deinen Auftragsstatus zu sehen, klicke auf die [my VM page] unten.<br/>\n" | ||||||
|  | "Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " | ||||||
|  | "tun, indem du <a href=\"%(base_url)s%(my_virtual_machines_url)s\">diesen " | ||||||
|  | "Link klickst</a>.<br/>\n" | ||||||
|  | 
 | ||||||
|  | msgid "My VM page" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "" | ||||||
|  | "You're receiving this mail because your virtual machine [%(vm_name)s] has " | ||||||
|  | "been cancelled.\n" | ||||||
|  | "You can see your order status by clicking here\n" | ||||||
|  | "%(base_url)s%(vm_order_url)s\n" | ||||||
|  | "If you want to order a new virtual machine, you can do it by clicking this " | ||||||
|  | "link.\n" | ||||||
|  | "%(base_url)s%(my_virtual_machines_url)s\n" | ||||||
|  | msgstr "" | ||||||
|  | "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] gekündigt " | ||||||
|  | "wurde.\n" | ||||||
|  | "Um deinen Auftragsstatus zu sehen, klicke hier.\n" | ||||||
|  | "%(base_url)s%(vm_order_url)s\n" | ||||||
|  | "Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " | ||||||
|  | "tun, indem du diesen Link klickst.\n" | ||||||
|  | "%(base_url)s%(my_virtual_machines_url)s\n" | ||||||
|  | 
 | ||||||
|  | msgid "Toggle navigation" | ||||||
|  | msgstr "Konfiguration" | ||||||
|  | 
 | ||||||
|  | msgid "Dashboard" | ||||||
|  | msgstr "Mein Dashboard" | ||||||
|  | 
 | ||||||
|  | msgid "Logout" | ||||||
|  | msgstr "Abmelden" | ||||||
|  | 
 | ||||||
| msgid "Don't have an account yet ? " | msgid "Don't have an account yet ? " | ||||||
| msgstr "Besitzt du kein Benutzerkonto?" | msgstr "Besitzt du kein Benutzerkonto?" | ||||||
| 
 | 
 | ||||||
|  | @ -384,9 +484,8 @@ msgid "" | ||||||
| "We are using <a href=\"https://stripe.com\">Stripe</a> for payment and do " | "We are using <a href=\"https://stripe.com\">Stripe</a> for payment and do " | ||||||
| "not store your information in our database." | "not store your information in our database." | ||||||
| msgstr "" | msgstr "" | ||||||
| "Wir nutzen <a href=" | "Wir nutzen <a href=\"https://stripe.com\" target=\"_blank\">Stripe</a> für " | ||||||
| "\"https://stripe.com\" target=\"_blank\">Stripe</a> für die Bezahlung und " | "die Bezahlung und speichern keine Informationen in unserer Datenbank." | ||||||
| "speichern keine Informationen in unserer Datenbank." |  | ||||||
| 
 | 
 | ||||||
| msgid "Add your public SSH key" | msgid "Add your public SSH key" | ||||||
| msgstr "Füge deinen öffentlichen SSH-Key hinzu" | msgstr "Füge deinen öffentlichen SSH-Key hinzu" | ||||||
|  | @ -534,17 +633,59 @@ msgstr "Du kannst dich nun" | ||||||
| msgid "Sorry. Your request is invalid." | msgid "Sorry. Your request is invalid." | ||||||
| msgstr "Entschuldigung, deine Anfrage ist ungültig." | msgstr "Entschuldigung, deine Anfrage ist ungültig." | ||||||
| 
 | 
 | ||||||
|  | msgid "Password has been reset." | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Password reset has not been successful." | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "The reset password link is no longer valid." | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
| msgid "Invalid credit card" | msgid "Invalid credit card" | ||||||
| msgstr "Ungültige Kreditkarte" | msgstr "Ungültige Kreditkarte" | ||||||
| 
 | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "Your New VM %(vm_name)s at Data Center Light" | ||||||
|  | msgstr "Deine neue VM %(vm_name)s bei Data Center Light" | ||||||
|  | 
 | ||||||
| msgid "Confirm Order" | msgid "Confirm Order" | ||||||
| msgstr "Bestellung Bestätigen" | msgstr "Bestellung Bestätigen" | ||||||
| 
 | 
 | ||||||
|  | msgid "In order to create a VM, you need to create/upload your SSH KEY first." | ||||||
|  | msgstr "" | ||||||
|  | "Um eine VM zu erstellen musst du zuerst einen SSH-Key erstellen / hochladen." | ||||||
|  | 
 | ||||||
| msgid "" | msgid "" | ||||||
| "We could not find the requested VM. Please                            " | "We could not find the requested VM. Please                            " | ||||||
| "contact Data Center Light Support." | "contact Data Center Light Support." | ||||||
| msgstr "Kontaktiere den Data Center Light Support." | msgstr "Kontaktiere den Data Center Light Support." | ||||||
| 
 | 
 | ||||||
|  | msgid "Virtual Machine Cancellation" | ||||||
|  | msgstr "VM Kündigung" | ||||||
|  | 
 | ||||||
|  | #, python-format | ||||||
|  | msgid "VM %(VM_ID)s terminated successfully" | ||||||
|  | msgstr "VM %(VM_ID)s erfolgreich beendet" | ||||||
|  | 
 | ||||||
|  | #~ msgid "My Virtual Machines" | ||||||
|  | #~ msgstr "Meine virtuellen Maschinen" | ||||||
|  | 
 | ||||||
|  | #~ msgid "My Orders" | ||||||
|  | #~ msgstr "Meine Bestellungen" | ||||||
|  | 
 | ||||||
|  | #~ msgid "SSH Keys" | ||||||
|  | #~ msgstr "SSH Key" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Notifications " | ||||||
|  | #~ msgstr "Benachrichtigungen" | ||||||
|  | 
 | ||||||
|  | #~ msgid "REMOVE CARD" | ||||||
|  | #~ msgstr "KARTE ENTFERNEN" | ||||||
|  | 
 | ||||||
|  | #~ msgid "EDIT CARD" | ||||||
|  | #~ msgstr "BEARBEITEN" | ||||||
|  | 
 | ||||||
| #~ msgid "Add a new Card." | #~ msgid "Add a new Card." | ||||||
| #~ msgstr "Neue Kreditkarte hinzufügen." | #~ msgstr "Neue Kreditkarte hinzufügen." | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,140 +1,14 @@ | ||||||
| {% load static from staticfiles %} | {% extends "datacenterlight/emails/base_email_datacenterlight.html" %} | ||||||
| <!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b --> | {% load i18n %} | ||||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> | {% block email_head %}{{page_header}}{% endblock %} | ||||||
| <html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | {% block email_body %} | ||||||
| <head> | {% url 'hosting:orders' order.id as order_url %} | ||||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | {% blocktrans with vm.name as vm_name %}You have ordered a new virtual machine! | ||||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> |  | ||||||
| <title>Oxygen Invoice</title> |  | ||||||
| </head> |  | ||||||
| <body bgcolor="#f7f7f7" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;"> |  | ||||||
| <style type="text/css"> |  | ||||||
| @media only screen and (max-width: 480px) { |  | ||||||
|   table[class*="container-for-gmail-android"] { |  | ||||||
|     min-width: 290px !important; width: 100% !important; |  | ||||||
|   } |  | ||||||
|   img[class="force-width-gmail"] { |  | ||||||
|     display: none !important; width: 0 !important; height: 0 !important; |  | ||||||
|   } |  | ||||||
|   table[class="w320"] { |  | ||||||
|     width: 320px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-left"] { |  | ||||||
|     width: 160px !important; padding-left: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-right"] { |  | ||||||
|     width: 160px !important; padding-right: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class="header-lg"] { |  | ||||||
|     font-size: 24px !important; padding-bottom: 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="content-padding"] { |  | ||||||
|     padding: 5px 0 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="button"] { |  | ||||||
|     padding: 5px 5px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="free-text"] { |  | ||||||
|     padding: 10px 18px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="mobile-hide-img"] { |  | ||||||
|     display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class~="item"] { |  | ||||||
|     width: 140px !important; vertical-align: top !important; |  | ||||||
|   } |  | ||||||
|   td[class~="quantity"] { |  | ||||||
|     width: 50px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="price"] { |  | ||||||
|     width: 90px !important; |  | ||||||
|   } |  | ||||||
|   td[class="item-table"] { |  | ||||||
|     padding: 30px 20px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-left"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-right"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| <table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|       <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px;" align="center"> |  | ||||||
|             <!--[if gte mso 9]> |  | ||||||
|             <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;"> |  | ||||||
|               <v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" /> |  | ||||||
|               <v:textbox inset="0,0,0,0"> |  | ||||||
|             <![endif]--> |  | ||||||
|               <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> |  | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static "hosting/img/logo_black.png" %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |  | ||||||
|                     </td> |  | ||||||
|                   </tr></table> |  | ||||||
| </center> |  | ||||||
|               <!--[if gte mso 9]> |  | ||||||
|               </v:textbox> |  | ||||||
|             </v:rect> |  | ||||||
|             <![endif]--> |  | ||||||
|             </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: center; line-height: normal; font-weight: 700; padding: 35px 0 0;" align="center"> |  | ||||||
|               You have booked a virtual machine! |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; width: 100% !important; padding: 10px 60px 0px;" align="center"> |  | ||||||
|              Your virtual machine {{vm.name}} subscription has been charged,  |  | ||||||
| <br/> | <br/> | ||||||
|              we are going to contact you as soon your virtual machine has been activated. | Your order of [{{vm_name}}] has been charged.<br/><br/> | ||||||
|              <br/>  | You can view your invoice by clicking the button below.<br/><br/> | ||||||
|              You can view your invoice clicking on the button below.  | {% endblocktrans %} | ||||||
|             </td> | <div class="button" style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center"> | ||||||
|           </tr> |     <a href="{{ base_url }}{{order_url}}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">{% trans 'View Invoice' %}</a> | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="button" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center"> |  | ||||||
|               <div style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <!--[if mso]> |  | ||||||
|                 <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="height:45px;v-text-anchor:middle;width:155px;" arcsize="15%" strokecolor="#ffffff" fillcolor="#ff6f6f"> |  | ||||||
|                   <w:anchorlock/> |  | ||||||
|                   <center style="color:#ffffff;font-family:Helvetica, Arial, sans-serif;font-size:14px;font-weight:regular;">My Account</center> |  | ||||||
|                 </v:roundrect> |  | ||||||
|               <![endif]--><a href="{{ base_url }}{% url 'hosting:orders' order.id %}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">View Invoice</a> |  | ||||||
| </div> | </div> | ||||||
|             </td> | {% endblock %} | ||||||
|           </tr> |  | ||||||
| </table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7;" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 25px 0;" align="center"> |  | ||||||
|               <strong style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">ungleich</strong><br style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| </table> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -1,140 +1,11 @@ | ||||||
| {% load static from staticfiles %} | {% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} | ||||||
| <!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b --> | {% load i18n %} | ||||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> | {% block email_head %}{{page_header}}{% endblock %} | ||||||
| <html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> | {% block email_body %} | ||||||
| <head> | {% url 'hosting:orders' order.id as order_url %} | ||||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | {% blocktrans with vm.name as vm_name %}You have ordered a new virtual machine! | ||||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> | Your order of [{{vm_name}}] has been charged. | ||||||
| <title>Oxygen Invoice</title> | You can view your invoice here. | ||||||
| </head> | {% endblocktrans %} | ||||||
| <body bgcolor="#f7f7f7" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;"> | {{ base_url }}{{order_url}} | ||||||
| <style type="text/css"> | {% endblock %} | ||||||
| @media only screen and (max-width: 480px) { |  | ||||||
|   table[class*="container-for-gmail-android"] { |  | ||||||
|     min-width: 290px !important; width: 100% !important; |  | ||||||
|   } |  | ||||||
|   img[class="force-width-gmail"] { |  | ||||||
|     display: none !important; width: 0 !important; height: 0 !important; |  | ||||||
|   } |  | ||||||
|   table[class="w320"] { |  | ||||||
|     width: 320px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-left"] { |  | ||||||
|     width: 160px !important; padding-left: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-right"] { |  | ||||||
|     width: 160px !important; padding-right: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class="header-lg"] { |  | ||||||
|     font-size: 24px !important; padding-bottom: 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="content-padding"] { |  | ||||||
|     padding: 5px 0 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="button"] { |  | ||||||
|     padding: 5px 5px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="free-text"] { |  | ||||||
|     padding: 10px 18px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="mobile-hide-img"] { |  | ||||||
|     display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class~="item"] { |  | ||||||
|     width: 140px !important; vertical-align: top !important; |  | ||||||
|   } |  | ||||||
|   td[class~="quantity"] { |  | ||||||
|     width: 50px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="price"] { |  | ||||||
|     width: 90px !important; |  | ||||||
|   } |  | ||||||
|   td[class="item-table"] { |  | ||||||
|     padding: 30px 20px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-left"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-right"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| <table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|       <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px;" align="center"> |  | ||||||
|             <!--[if gte mso 9]> |  | ||||||
|             <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;"> |  | ||||||
|               <v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" /> |  | ||||||
|               <v:textbox inset="0,0,0,0"> |  | ||||||
|             <![endif]--> |  | ||||||
|               <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> |  | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static "hosting/img/logo_black.png" %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |  | ||||||
|                     </td> |  | ||||||
|                   </tr></table> |  | ||||||
| </center> |  | ||||||
|               <!--[if gte mso 9]> |  | ||||||
|               </v:textbox> |  | ||||||
|             </v:rect> |  | ||||||
|             <![endif]--> |  | ||||||
|             </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: center; line-height: normal; font-weight: 700; padding: 35px 0 0;" align="center"> |  | ||||||
|               You have booked a virtual machine! |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; width: 100% !important; padding: 10px 60px 0px;" align="center"> |  | ||||||
|              Your virtual machine {{vm.name}} subscription has been charged,  |  | ||||||
|              <br/> |  | ||||||
|              we are going to contact you as soon your virtual machine has been activated. |  | ||||||
|              <br/>  |  | ||||||
|              You can view your invoice clicking on the button below.  |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="button" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center"> |  | ||||||
|               <div style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <!--[if mso]> |  | ||||||
|                 <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="height:45px;v-text-anchor:middle;width:155px;" arcsize="15%" strokecolor="#ffffff" fillcolor="#ff6f6f"> |  | ||||||
|                   <w:anchorlock/> |  | ||||||
|                   <center style="color:#ffffff;font-family:Helvetica, Arial, sans-serif;font-size:14px;font-weight:regular;">My Account</center> |  | ||||||
|                 </v:roundrect> |  | ||||||
|               <![endif]--><a href="{{ base_url }}{% url 'hosting:orders' order.id %}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">View Invoice</a> |  | ||||||
| </div> |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| </table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7;" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 25px 0;" align="center"> |  | ||||||
|               <strong style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">ungleich</strong><br style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| </table> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -1,13 +1,14 @@ | ||||||
| {% load i18n %}{% autoescape off %} | {% extends "datacenterlight/emails/base_email_datacenterlight.html" %} | ||||||
| {% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %} | {% load i18n %} | ||||||
| 
 | {% block email_head %} | ||||||
| {% trans "Please go to the following page and choose a new password:" %} | {% trans 'Password Reset' %} | ||||||
|     {% block reset_link %} | {% endblock %} | ||||||
|         {{ base_url }}{% url 'hosting:reset_password_confirm' uidb64=uid token=token %}  | {% block email_body %} | ||||||
|  | {% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %} | ||||||
|  | {% blocktrans %} | ||||||
|  | You're receiving this email because you requested a password reset for your user account at {{site_name}}.<br/> | ||||||
|  | Please go to the following page and choose a new password: {{base_url}}{{ password_reset_url }}<br/> | ||||||
|  | If you didn't request a new password, ignore this e-mail.<br/> | ||||||
|  | Thank you! | ||||||
|  | {% endblocktrans %} | ||||||
| {% endblock %} | {% endblock %} | ||||||
| 
 |  | ||||||
| {% trans "Thanks for using our site!" %} |  | ||||||
| 
 |  | ||||||
| {% blocktrans %}The {{ site_name }} team{% endblocktrans %} |  | ||||||
| 
 |  | ||||||
| {% endautoescape %} |  | ||||||
|  | @ -1,13 +1,11 @@ | ||||||
| {% load i18n %}{% autoescape off %} | {% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} | ||||||
| {% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %} | {% load i18n %} | ||||||
| 
 | {% block email_head %}{% trans 'Password Reset' %}{% endblock %} | ||||||
| {% trans "Please go to the following page and choose a new password:" %} | {% block email_body %} | ||||||
|     {% block reset_link %} | {% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %} | ||||||
|         {{ base_url }}{% url 'hosting:reset_password_confirm' uidb64=uid token=token %}  | {% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{site_name}}. | ||||||
|  | Please go to the following page and choose a new password: {{base_url}}{{ password_reset_url }} | ||||||
|  | If you didn't request a new password, ignore this e-mail. | ||||||
|  | Thank you! | ||||||
|  | {% endblocktrans %} | ||||||
| {% endblock %} | {% endblock %} | ||||||
| 
 |  | ||||||
| {% trans "Thanks for using our site!" %} |  | ||||||
| 
 |  | ||||||
| {% blocktrans %}The {{ site_name }} team{% endblocktrans %} |  | ||||||
| 
 |  | ||||||
| {% endautoescape %} |  | ||||||
							
								
								
									
										15
									
								
								hosting/templates/hosting/emails/vm_canceled.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								hosting/templates/hosting/emails/vm_canceled.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | {% extends "datacenterlight/emails/base_email_datacenterlight.html" %} | ||||||
|  | {% load i18n %} | ||||||
|  | {% block email_head %}{{page_header}}{% endblock %} | ||||||
|  | {% block email_body %} | ||||||
|  | {% url 'hosting:virtual_machines' as my_virtual_machines_url %} | ||||||
|  | {% url 'hosting:orders' as vm_orders_url %} | ||||||
|  | {% blocktrans with vm.name as vm_name %}You're receiving this mail because your virtual machine [{{vm_name}}] has been cancelled.<br/> | ||||||
|  | You can see your order status by clicking [my VM page] below.<br/> | ||||||
|  | If you want to order a new virtual machine, you can do it by clicking <a href="{{base_url}}{{my_virtual_machines_url}}">this link</a>.<br/> | ||||||
|  | {% endblocktrans %} | ||||||
|  | <div class="button" style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center"> | ||||||
|  |     <a href="{{ base_url }}{{vm_orders_url}}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">{% trans 'My VM page' %}</a> | ||||||
|  | </div> | ||||||
|  | {% endblock %} | ||||||
|  | 
 | ||||||
							
								
								
									
										13
									
								
								hosting/templates/hosting/emails/vm_canceled.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								hosting/templates/hosting/emails/vm_canceled.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | {% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} | ||||||
|  | {% load i18n %} | ||||||
|  | {% block email_head %}{{page_header}}{% endblock %} | ||||||
|  | {% block email_body %} | ||||||
|  | {% url 'hosting:virtual_machines' as my_virtual_machines_url %} | ||||||
|  | {% url 'hosting:orders' order.id as vm_order_url %} | ||||||
|  | {% blocktrans with vm.name as vm_name %}You're receiving this mail because your virtual machine [{{vm_name}}] has been cancelled. | ||||||
|  | You can see your order status by clicking here | ||||||
|  | {{base_url}}{{vm_order_url}} | ||||||
|  | If you want to order a new virtual machine, you can do it by clicking this link. | ||||||
|  | {{base_url}}{{my_virtual_machines_url}} | ||||||
|  | {% endblocktrans %} | ||||||
|  | {% endblock %} | ||||||
|  | @ -1,136 +0,0 @@ | ||||||
| {% load static from staticfiles %} |  | ||||||
| <!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b --> |  | ||||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |  | ||||||
| <html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <head> |  | ||||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |  | ||||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> |  | ||||||
| <title>Oxygen Invoice</title> |  | ||||||
| </head> |  | ||||||
| <body bgcolor="#f7f7f7" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;"> |  | ||||||
| <style type="text/css"> |  | ||||||
| @media only screen and (max-width: 480px) { |  | ||||||
|   table[class*="container-for-gmail-android"] { |  | ||||||
|     min-width: 290px !important; width: 100% !important; |  | ||||||
|   } |  | ||||||
|   img[class="force-width-gmail"] { |  | ||||||
|     display: none !important; width: 0 !important; height: 0 !important; |  | ||||||
|   } |  | ||||||
|   table[class="w320"] { |  | ||||||
|     width: 320px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-left"] { |  | ||||||
|     width: 160px !important; padding-left: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-right"] { |  | ||||||
|     width: 160px !important; padding-right: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class="header-lg"] { |  | ||||||
|     font-size: 24px !important; padding-bottom: 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="content-padding"] { |  | ||||||
|     padding: 5px 0 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="button"] { |  | ||||||
|     padding: 5px 5px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="free-text"] { |  | ||||||
|     padding: 10px 18px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="mobile-hide-img"] { |  | ||||||
|     display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class~="item"] { |  | ||||||
|     width: 140px !important; vertical-align: top !important; |  | ||||||
|   } |  | ||||||
|   td[class~="quantity"] { |  | ||||||
|     width: 50px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="price"] { |  | ||||||
|     width: 90px !important; |  | ||||||
|   } |  | ||||||
|   td[class="item-table"] { |  | ||||||
|     padding: 30px 20px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-left"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-right"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| <table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7 url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|   <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px;" align="center"> |  | ||||||
|             <!--[if gte mso 9]> |  | ||||||
|             <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;"> |  | ||||||
|               <v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" /> |  | ||||||
|               <v:textbox inset="0,0,0,0"> |  | ||||||
|             <![endif]--> |  | ||||||
|               <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> |  | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static "hosting/img/logo_black.png" %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |  | ||||||
|                     </td> |  | ||||||
|                   </tr></table> |  | ||||||
| </center> |  | ||||||
|               <!--[if gte mso 9]> |  | ||||||
|               </v:textbox> |  | ||||||
|             </v:rect> |  | ||||||
|             <![endif]--> |  | ||||||
|             </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: center; line-height: normal; font-weight: 700; padding: 35px 0 0;" align="center"> |  | ||||||
|                Your virtual machine {{vm.name}} status has been updated to {{vm.get_status_display}} |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; width: 100% !important; padding: 10px 60px 0px;" align="center"> |  | ||||||
|               You can manage your vm clicking on the button below |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="button" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center"> |  | ||||||
|               <div style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <!--[if mso]> |  | ||||||
|                 <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="height:45px;v-text-anchor:middle;width:155px;" arcsize="15%" strokecolor="#ffffff" fillcolor="#ff6f6f"> |  | ||||||
|                   <w:anchorlock/> |  | ||||||
|                   <center style="color:#ffffff;font-family:Helvetica, Arial, sans-serif;font-size:14px;font-weight:regular;">My Account</center> |  | ||||||
|                 </v:roundrect> |  | ||||||
|               <![endif]--><a href="{{base_url}}{% url 'hosting:virtual_machines' vm.id %}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">VM Dashboard</a> |  | ||||||
| </div> |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| </table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7;" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 25px 0;" align="center"> |  | ||||||
|               <strong style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">ungleich</strong><br style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| </table> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| 
 |  | ||||||
|  | @ -1,136 +0,0 @@ | ||||||
| {% load static from staticfiles %} |  | ||||||
| <!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b --> |  | ||||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |  | ||||||
| <html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <head> |  | ||||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |  | ||||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> |  | ||||||
| <title>Oxygen Invoice</title> |  | ||||||
| </head> |  | ||||||
| <body bgcolor="#f7f7f7" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;"> |  | ||||||
| <style type="text/css"> |  | ||||||
| @media only screen and (max-width: 480px) { |  | ||||||
|   table[class*="container-for-gmail-android"] { |  | ||||||
|     min-width: 290px !important; width: 100% !important; |  | ||||||
|   } |  | ||||||
|   img[class="force-width-gmail"] { |  | ||||||
|     display: none !important; width: 0 !important; height: 0 !important; |  | ||||||
|   } |  | ||||||
|   table[class="w320"] { |  | ||||||
|     width: 320px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-left"] { |  | ||||||
|     width: 160px !important; padding-left: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class*="mobile-header-padding-right"] { |  | ||||||
|     width: 160px !important; padding-right: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class="header-lg"] { |  | ||||||
|     font-size: 24px !important; padding-bottom: 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="content-padding"] { |  | ||||||
|     padding: 5px 0 5px !important; |  | ||||||
|   } |  | ||||||
|   td[class="button"] { |  | ||||||
|     padding: 5px 5px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class*="free-text"] { |  | ||||||
|     padding: 10px 18px 30px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="mobile-hide-img"] { |  | ||||||
|     display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important; |  | ||||||
|   } |  | ||||||
|   td[class~="item"] { |  | ||||||
|     width: 140px !important; vertical-align: top !important; |  | ||||||
|   } |  | ||||||
|   td[class~="quantity"] { |  | ||||||
|     width: 50px !important; |  | ||||||
|   } |  | ||||||
|   td[class~="price"] { |  | ||||||
|     width: 90px !important; |  | ||||||
|   } |  | ||||||
|   td[class="item-table"] { |  | ||||||
|     padding: 30px 20px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-left"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
|   td[class="mini-container-right"] { |  | ||||||
|     padding: 0 15px 15px !important; display: block !important; width: 290px !important; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| <table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7 url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|   <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px;" align="center"> |  | ||||||
|             <!--[if gte mso 9]> |  | ||||||
|             <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;"> |  | ||||||
|               <v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" /> |  | ||||||
|               <v:textbox inset="0,0,0,0"> |  | ||||||
|             <![endif]--> |  | ||||||
|               <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|                 <table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle"> |  | ||||||
|                       <a href="{{base_url}}" style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static "hosting/img/logo_black.png" %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right"> |  | ||||||
|                     </td> |  | ||||||
|                   </tr></table> |  | ||||||
| </center> |  | ||||||
|               <!--[if gte mso 9]> |  | ||||||
|               </v:textbox> |  | ||||||
|             </v:rect> |  | ||||||
|             <![endif]--> |  | ||||||
|             </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="header-lg" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: center; line-height: normal; font-weight: 700; padding: 35px 0 0;" align="center"> |  | ||||||
|                Your virtual machine {{vm.name}} status has been updated to {{vm.get_status_display}} |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="free-text" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; width: 100% !important; padding: 10px 60px 0px;" align="center"> |  | ||||||
|               You can manage your vm clicking on the button below |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td class="button" style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center"> |  | ||||||
|               <div style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <!--[if mso]> |  | ||||||
|                 <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="height:45px;v-text-anchor:middle;width:155px;" arcsize="15%" strokecolor="#ffffff" fillcolor="#ff6f6f"> |  | ||||||
|                   <w:anchorlock/> |  | ||||||
|                   <center style="color:#ffffff;font-family:Helvetica, Arial, sans-serif;font-size:14px;font-weight:regular;">My Account</center> |  | ||||||
|                 </v:roundrect> |  | ||||||
|               <![endif]--><a href="{{base_url}}{% url 'hosting:virtual_machines' vm.id %}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">VM Dashboard</a> |  | ||||||
| </div> |  | ||||||
|             </td> |  | ||||||
|           </tr> |  | ||||||
| </table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| <tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #f7f7f7;" bgcolor="#f7f7f7"> |  | ||||||
|       <center style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
|         <table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| <td style="border-collapse: collapse; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 25px 0;" align="center"> |  | ||||||
|               <strong style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">ungleich</strong><br style="font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"> |  | ||||||
| </td> |  | ||||||
|           </tr></table> |  | ||||||
| </center> |  | ||||||
|     </td> |  | ||||||
|   </tr> |  | ||||||
| </table> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| 
 |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| {% load staticfiles %} | {% load staticfiles %} | ||||||
| 
 | {% load i18n %} | ||||||
| <footer> | <footer> | ||||||
|     <div class="container"> |     <div class="container"> | ||||||
|         <div class="row"> |         <div class="row"> | ||||||
|  |  | ||||||
|  | @ -18,10 +18,10 @@ from django.views.generic import View, CreateView, FormView, ListView, \ | ||||||
|     DetailView, \ |     DetailView, \ | ||||||
|     DeleteView, TemplateView, UpdateView |     DeleteView, TemplateView, UpdateView | ||||||
| from guardian.mixins import PermissionRequiredMixin | from guardian.mixins import PermissionRequiredMixin | ||||||
| from oca.pool import WrongIdError | from oca.pool import WrongNameError, WrongIdError | ||||||
| from stored_messages.api import mark_read |  | ||||||
| from stored_messages.models import Message |  | ||||||
| from stored_messages.settings import stored_messages_settings | from stored_messages.settings import stored_messages_settings | ||||||
|  | from stored_messages.models import Message | ||||||
|  | from stored_messages.api import mark_read | ||||||
| 
 | 
 | ||||||
| from membership.models import CustomUser, StripeCustomer | from membership.models import CustomUser, StripeCustomer | ||||||
| from opennebula_api.models import OpenNebulaManager | from opennebula_api.models import OpenNebulaManager | ||||||
|  | @ -308,7 +308,7 @@ class PasswordResetConfirmView(PasswordResetConfirmViewMixin): | ||||||
|                 new_password = form.cleaned_data['new_password2'] |                 new_password = form.cleaned_data['new_password2'] | ||||||
|                 user.set_password(new_password) |                 user.set_password(new_password) | ||||||
|                 user.save() |                 user.save() | ||||||
|                 messages.success(request, 'Password has been reset.') |                 messages.success(request, _('Password has been reset.')) | ||||||
| 
 | 
 | ||||||
|                 # Change opennebula password |                 # Change opennebula password | ||||||
|                 opennebula_client.change_user_password(new_password) |                 opennebula_client.change_user_password(new_password) | ||||||
|  | @ -316,14 +316,15 @@ class PasswordResetConfirmView(PasswordResetConfirmViewMixin): | ||||||
|                 return self.form_valid(form) |                 return self.form_valid(form) | ||||||
|             else: |             else: | ||||||
|                 messages.error( |                 messages.error( | ||||||
|                     request, 'Password reset has not been successful.') |                     request, _('Password reset has not been successful.')) | ||||||
|                 form.add_error(None, 'Password reset has not been successful.') |                 form.add_error(None, | ||||||
|  |                                _('Password reset has not been successful.')) | ||||||
|                 return self.form_invalid(form) |                 return self.form_invalid(form) | ||||||
| 
 | 
 | ||||||
|         else: |         else: | ||||||
|             messages.error( |             error_msg = _('The reset password link is no longer valid.') | ||||||
|                 request, 'The reset password link is no longer valid.') |             messages.error(request, _(error_msg)) | ||||||
|             form.add_error(None, 'The reset password link is no longer valid.') |             form.add_error(None, error_msg) | ||||||
|             return self.form_invalid(form) |             return self.form_invalid(form) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -628,7 +629,8 @@ class PaymentVMView(LoginRequiredMixin, FormView): | ||||||
|                                                     token=token) |                                                     token=token) | ||||||
|             if not customer: |             if not customer: | ||||||
|                 msg = _("Invalid credit card") |                 msg = _("Invalid credit card") | ||||||
|                 messages.add_message(self.request, messages.ERROR, msg, |                 messages.add_message( | ||||||
|  |                     self.request, messages.ERROR, msg, | ||||||
|                     extra_tags='make_charge_error') |                     extra_tags='make_charge_error') | ||||||
|                 return HttpResponseRedirect( |                 return HttpResponseRedirect( | ||||||
|                     reverse('hosting:payment') + '#payment_error') |                     reverse('hosting:payment') + '#payment_error') | ||||||
|  | @ -644,7 +646,8 @@ class PaymentVMView(LoginRequiredMixin, FormView): | ||||||
|             # Check if the payment was approved |             # Check if the payment was approved | ||||||
|             if not charge_response.get('response_object'): |             if not charge_response.get('response_object'): | ||||||
|                 msg = charge_response.get('error') |                 msg = charge_response.get('error') | ||||||
|                 messages.add_message(self.request, messages.ERROR, msg, |                 messages.add_message( | ||||||
|  |                     self.request, messages.ERROR, msg, | ||||||
|                     extra_tags='make_charge_error') |                     extra_tags='make_charge_error') | ||||||
|                 return HttpResponseRedirect( |                 return HttpResponseRedirect( | ||||||
|                     reverse('hosting:payment') + '#payment_error') |                     reverse('hosting:payment') + '#payment_error') | ||||||
|  | @ -700,20 +703,23 @@ class PaymentVMView(LoginRequiredMixin, FormView): | ||||||
| 
 | 
 | ||||||
|             vm = VirtualMachineSerializer(manager.get_vm(vm_id)).data |             vm = VirtualMachineSerializer(manager.get_vm(vm_id)).data | ||||||
| 
 | 
 | ||||||
|             # Send notification to ungleich as soon as VM has been booked |             # Send notification to the user as soon as VM has been booked | ||||||
|             context = { |             context = { | ||||||
|                 'vm': vm, |                 'vm': vm, | ||||||
|                 'order': order, |                 'order': order, | ||||||
|                 'base_url': "{0}://{1}".format(request.scheme, |                 'base_url': "{0}://{1}".format(request.scheme, | ||||||
|                                                request.get_host()) |                                                request.get_host()), | ||||||
| 
 |                 'page_header': _( | ||||||
|  |                     'Your New VM %(vm_name)s at Data Center Light') % { | ||||||
|  |                                    'vm_name': vm.get('name')} | ||||||
|             } |             } | ||||||
|             email_data = { |             email_data = { | ||||||
|                 'subject': 'New VM request', |                 'subject': context.get('page_header'), | ||||||
|                 'to': request.user.email, |                 'to': request.user.email, | ||||||
|                 'context': context, |                 'context': context, | ||||||
|                 'template_name': 'new_booked_vm', |                 'template_name': 'new_booked_vm', | ||||||
|                 'template_path': 'hosting/emails/' |                 'template_path': 'hosting/emails/', | ||||||
|  |                 'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, | ||||||
|             } |             } | ||||||
|             email = BaseEmail(**email_data) |             email = BaseEmail(**email_data) | ||||||
|             email.send() |             email.send() | ||||||
|  | @ -770,7 +776,8 @@ class OrdersHostingDetailView(PermissionRequiredMixin, LoginRequiredMixin, | ||||||
|             context['error'] = 'WrongIdError' |             context['error'] = 'WrongIdError' | ||||||
|         except ConnectionRefusedError: |         except ConnectionRefusedError: | ||||||
|             messages.error(self.request, |             messages.error(self.request, | ||||||
|                            'In order to create a VM, you need to create/upload your SSH KEY first.' |                            _( | ||||||
|  |                                'In order to create a VM, you need to create/upload your SSH KEY first.') | ||||||
|                            ) |                            ) | ||||||
|         return context |         return context | ||||||
| 
 | 
 | ||||||
|  | @ -838,7 +845,8 @@ class CreateVirtualMachinesView(LoginRequiredMixin, View): | ||||||
|         if not UserHostingKey.objects.filter(user=self.request.user).exists(): |         if not UserHostingKey.objects.filter(user=self.request.user).exists(): | ||||||
|             messages.success( |             messages.success( | ||||||
|                 request, |                 request, | ||||||
|                 'In order to create a VM, you need to create/upload your SSH KEY first.' |                 _( | ||||||
|  |                     'In order to create a VM, you need to create/upload your SSH KEY first.') | ||||||
|             ) |             ) | ||||||
|             return HttpResponseRedirect(reverse('hosting:ssh_keys')) |             return HttpResponseRedirect(reverse('hosting:ssh_keys')) | ||||||
| 
 | 
 | ||||||
|  | @ -939,7 +947,7 @@ class VirtualMachineView(LoginRequiredMixin, View): | ||||||
|             email=owner.email, |             email=owner.email, | ||||||
|             password=owner.password |             password=owner.password | ||||||
|         ) |         ) | ||||||
| 
 |         vm_data = VirtualMachineSerializer(manager.get_vm(vm.id)).data | ||||||
|         terminated = manager.delete_vm( |         terminated = manager.delete_vm( | ||||||
|             vm.id |             vm.id | ||||||
|         ) |         ) | ||||||
|  | @ -950,25 +958,27 @@ class VirtualMachineView(LoginRequiredMixin, View): | ||||||
|                 'Error terminating VM %s' % (opennebula_vm_id) |                 'Error terminating VM %s' % (opennebula_vm_id) | ||||||
|             ) |             ) | ||||||
|             return HttpResponseRedirect(self.get_success_url()) |             return HttpResponseRedirect(self.get_success_url()) | ||||||
| 
 |  | ||||||
|         context = { |         context = { | ||||||
|             'vm': vm, |             'vm': vm_data, | ||||||
|             'base_url': "{0}://{1}".format(self.request.scheme, |             'base_url': "{0}://{1}".format(self.request.scheme, | ||||||
|                                            self.request.get_host()) |                                            self.request.get_host()), | ||||||
|  |             'page_header': _('Virtual Machine Cancellation') | ||||||
|         } |         } | ||||||
|         email_data = { |         email_data = { | ||||||
|             'subject': 'Virtual machine plan canceled', |             'subject': context['page_header'], | ||||||
|             'to': self.request.user.email, |             'to': self.request.user.email, | ||||||
|             'context': context, |             'context': context, | ||||||
|             'template_name': 'vm_status_changed', |             'template_name': 'vm_canceled', | ||||||
|             'template_path': 'hosting/emails/' |             'template_path': 'hosting/emails/', | ||||||
|  |             'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, | ||||||
|         } |         } | ||||||
|         email = BaseEmail(**email_data) |         email = BaseEmail(**email_data) | ||||||
|         email.send() |         email.send() | ||||||
| 
 | 
 | ||||||
|         messages.error( |         messages.error( | ||||||
|             request, |             request, | ||||||
|             'VM %s terminated successfully' % (opennebula_vm_id) |             _('VM %(VM_ID)s terminated successfully') % { | ||||||
|  |                 'VM_ID': opennebula_vm_id} | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         return HttpResponseRedirect(self.get_success_url()) |         return HttpResponseRedirect(self.get_success_url()) | ||||||
|  |  | ||||||
|  | @ -1,17 +1,19 @@ | ||||||
| from datetime import datetime | from datetime import datetime | ||||||
| from django.db import models |  | ||||||
| from django.utils.translation import ugettext_lazy as _ |  | ||||||
| from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixin |  | ||||||
| from django.contrib.auth.hashers import make_password |  | ||||||
| from django.core.validators import RegexValidator |  | ||||||
| from django.contrib.sites.models import Site |  | ||||||
| from django.conf import settings |  | ||||||
| from django.utils.crypto import get_random_string |  | ||||||
| 
 | 
 | ||||||
| from utils.stripe_utils import StripeUtils | from django.conf import settings | ||||||
| from utils.mailer import DigitalGlarusRegistrationMailer | from django.contrib.auth.hashers import make_password | ||||||
|  | from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, \ | ||||||
|  |     PermissionsMixin | ||||||
|  | from django.contrib.sites.models import Site | ||||||
| from django.core.urlresolvers import reverse | from django.core.urlresolvers import reverse | ||||||
|  | from django.core.validators import RegexValidator | ||||||
|  | from django.db import models | ||||||
|  | from django.utils.crypto import get_random_string | ||||||
|  | from django.utils.translation import ugettext_lazy as _ | ||||||
|  | 
 | ||||||
| from utils.mailer import BaseEmail | from utils.mailer import BaseEmail | ||||||
|  | from utils.mailer import DigitalGlarusRegistrationMailer | ||||||
|  | from utils.stripe_utils import StripeUtils | ||||||
| 
 | 
 | ||||||
| REGISTRATION_MESSAGE = {'subject': "Validation mail", | REGISTRATION_MESSAGE = {'subject': "Validation mail", | ||||||
|                         'message': 'Please validate Your account under this link ' |                         'message': 'Please validate Your account under this link ' | ||||||
|  | @ -64,11 +66,13 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): | ||||||
|     email = models.EmailField(unique=True) |     email = models.EmailField(unique=True) | ||||||
| 
 | 
 | ||||||
|     validated = models.IntegerField(choices=VALIDATED_CHOICES, default=0) |     validated = models.IntegerField(choices=VALIDATED_CHOICES, default=0) | ||||||
|     validation_slug = models.CharField(db_index=True, unique=True, max_length=50) |     validation_slug = models.CharField(db_index=True, unique=True, | ||||||
|  |                                        max_length=50) | ||||||
|     is_admin = models.BooleanField( |     is_admin = models.BooleanField( | ||||||
|         _('staff status'), |         _('staff status'), | ||||||
|         default=False, |         default=False, | ||||||
|         help_text=_('Designates whether the user can log into this admin site.'), |         help_text=_( | ||||||
|  |             'Designates whether the user can log into this admin site.'), | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|     objects = MyUserManager() |     objects = MyUserManager() | ||||||
|  | @ -77,28 +81,32 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): | ||||||
|     REQUIRED_FIELDS = ['name', 'password'] |     REQUIRED_FIELDS = ['name', 'password'] | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def register(cls, name, password, email, app='digital_glarus', base_url=None, send_email=True): |     def register(cls, name, password, email, app='digital_glarus', | ||||||
|  |                  base_url=None, send_email=True): | ||||||
|         user = cls.objects.filter(email=email).first() |         user = cls.objects.filter(email=email).first() | ||||||
|         if not user: |         if not user: | ||||||
|             user = cls.objects.create_user(name=name, email=email, password=password) |             user = cls.objects.create_user(name=name, email=email, | ||||||
|  |                                            password=password) | ||||||
|             if user: |             if user: | ||||||
|                 if app == 'digital_glarus': |                 if app == 'digital_glarus': | ||||||
|                     dg = DigitalGlarusRegistrationMailer(user.validation_slug) |                     dg = DigitalGlarusRegistrationMailer(user.validation_slug) | ||||||
|                     dg.send_mail(to=user.email) |                     dg.send_mail(to=user.email) | ||||||
|                 elif app == 'dcl': |                 elif app == 'dcl': | ||||||
|                     dcl_text = settings.DCL_TEXT |                     dcl_text = settings.DCL_TEXT | ||||||
|                     # not used |  | ||||||
|                     # dcl_from_address = settings.DCL_SUPPORT_FROM_ADDRESS |  | ||||||
|                     user.is_active = False |                     user.is_active = False | ||||||
| 
 |  | ||||||
|                     if send_email is True: |                     if send_email is True: | ||||||
|                         email_data = { |                         email_data = { | ||||||
|                             'subject': str(_('Activate your ')) + dcl_text + str(_(' account')), |                             'subject': '{dcl_text} {account_activation}'.format( | ||||||
|  |                                 dcl_text=dcl_text, | ||||||
|  |                                 account_activation=_('Account Activation') | ||||||
|  |                             ), | ||||||
|                             'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, |                             'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, | ||||||
|                             'to': user.email, |                             'to': user.email, | ||||||
|                             'context': {'base_url': base_url, |                             'context': {'base_url': base_url, | ||||||
|                                         'activation_link': reverse('hosting:validate', |                                         'activation_link': reverse( | ||||||
|                                                                    kwargs={'validate_slug': user.validation_slug}), |                                             'hosting:validate', | ||||||
|  |                                             kwargs={ | ||||||
|  |                                                 'validate_slug': user.validation_slug}), | ||||||
|                                         'dcl_text': dcl_text |                                         'dcl_text': dcl_text | ||||||
|                                         }, |                                         }, | ||||||
|                             'template_name': 'user_activation', |                             'template_name': 'user_activation', | ||||||
|  | @ -114,7 +122,8 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def get_all_members(cls): |     def get_all_members(cls): | ||||||
|         return cls.objects.filter(stripecustomer__membershiporder__isnull=False) |         return cls.objects.filter( | ||||||
|  |             stripecustomer__membershiporder__isnull=False) | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def validate_url(cls, validation_slug): |     def validate_url(cls, validation_slug): | ||||||
|  | @ -204,9 +213,11 @@ class CreditCards(models.Model): | ||||||
|     name = models.CharField(max_length=50) |     name = models.CharField(max_length=50) | ||||||
|     user_id = models.ForeignKey(CustomUser, on_delete=models.CASCADE) |     user_id = models.ForeignKey(CustomUser, on_delete=models.CASCADE) | ||||||
|     card_number = models.CharField(max_length=50) |     card_number = models.CharField(max_length=50) | ||||||
|     expiry_date = models.CharField(max_length=50, validators=[RegexValidator(r'\d{2}\/\d{4}', _( |     expiry_date = models.CharField(max_length=50, validators=[ | ||||||
|  |         RegexValidator(r'\d{2}\/\d{4}', _( | ||||||
|             'Use this pattern(MM/YYYY).'))]) |             'Use this pattern(MM/YYYY).'))]) | ||||||
|     ccv = models.CharField(max_length=4, validators=[RegexValidator(r'\d{3,4}', _('Wrong CCV number.'))]) |     ccv = models.CharField(max_length=4, validators=[ | ||||||
|  |         RegexValidator(r'\d{3,4}', _('Wrong CCV number.'))]) | ||||||
|     payment_type = models.CharField(max_length=5, default='N') |     payment_type = models.CharField(max_length=5, default='N') | ||||||
| 
 | 
 | ||||||
|     def save(self, *args, **kwargs): |     def save(self, *args, **kwargs): | ||||||
|  | @ -221,7 +232,8 @@ class Calendar(models.Model): | ||||||
|     def __init__(self, *args, **kwargs): |     def __init__(self, *args, **kwargs): | ||||||
|         if kwargs.get('datebooked'): |         if kwargs.get('datebooked'): | ||||||
|             user = kwargs.get('user') |             user = kwargs.get('user') | ||||||
|             kwargs['datebooked'] = datetime.strptime(kwargs.get('datebooked', ''), '%d,%m,%Y') |             kwargs['datebooked'] = datetime.strptime( | ||||||
|  |                 kwargs.get('datebooked', ''), '%d,%m,%Y') | ||||||
|             self.user_id = user.id |             self.user_id = user.id | ||||||
|         super(Calendar, self).__init__(*args, **kwargs) |         super(Calendar, self).__init__(*args, **kwargs) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										784
									
								
								utils/locale/de/LC_MESSAGES/django.po
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										784
									
								
								utils/locale/de/LC_MESSAGES/django.po
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,784 @@ | ||||||
|  | # SOME DESCRIPTIVE TITLE. | ||||||
|  | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | ||||||
|  | # This file is distributed under the same license as the PACKAGE package. | ||||||
|  | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | ||||||
|  | # | ||||||
|  | #, fuzzy | ||||||
|  | msgid "" | ||||||
|  | msgstr "" | ||||||
|  | "Project-Id-Version: PACKAGE VERSION\n" | ||||||
|  | "Report-Msgid-Bugs-To: \n" | ||||||
|  | "POT-Creation-Date: 2017-09-02 11:50+0000\n" | ||||||
|  | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||||
|  | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||||
|  | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||||
|  | "Language: \n" | ||||||
|  | "MIME-Version: 1.0\n" | ||||||
|  | "Content-Type: text/plain; charset=UTF-8\n" | ||||||
|  | "Content-Transfer-Encoding: 8bit\n" | ||||||
|  | "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||||
|  | 
 | ||||||
|  | msgid "Andorra" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "United Arab Emirates" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Afghanistan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Antigua & Barbuda" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Anguilla" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Albania" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Armenia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Netherlands Antilles" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Angola" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Antarctica" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Argentina" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "American Samoa" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Austria" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Australia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Aruba" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Azerbaijan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bosnia and Herzegovina" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Barbados" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bangladesh" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Belgium" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Burkina Faso" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bulgaria" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bahrain" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Burundi" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Benin" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bermuda" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Brunei Darussalam" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bolivia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Brazil" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bahama" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bhutan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Bouvet Island" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Botswana" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Belarus" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Belize" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Canada" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cocos (Keeling) Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Central African Republic" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Congo" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Switzerland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Ivory Coast" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cook Iislands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Chile" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cameroon" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "China" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Colombia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Costa Rica" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cuba" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cape Verde" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Christmas Island" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cyprus" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Czech Republic" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Germany" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Djibouti" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Denmark" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Dominica" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Dominican Republic" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Algeria" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Ecuador" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Estonia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Egypt" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Western Sahara" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Eritrea" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Spain" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Ethiopia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Finland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Fiji" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Falkland Islands (Malvinas)" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Micronesia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Faroe Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "France" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "France, Metropolitan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Gabon" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "United Kingdom (Great Britain)" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Grenada" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Georgia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "French Guiana" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Ghana" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Gibraltar" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Greenland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Gambia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Guinea" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Guadeloupe" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Equatorial Guinea" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Greece" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "South Georgia and the South Sandwich Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Guatemala" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Guam" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Guinea-Bissau" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Guyana" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Hong Kong" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Heard & McDonald Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Honduras" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Croatia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Haiti" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Hungary" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Indonesia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Ireland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Israel" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "India" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "British Indian Ocean Territory" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Iraq" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Islamic Republic of Iran" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Iceland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Italy" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Jamaica" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Jordan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Japan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Kenya" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Kyrgyzstan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cambodia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Kiribati" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Comoros" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "St. Kitts and Nevis" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Korea, Democratic People's Republic of" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Korea, Republic of" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Kuwait" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Cayman Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Kazakhstan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Lao People's Democratic Republic" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Lebanon" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Saint Lucia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Liechtenstein" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Sri Lanka" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Liberia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Lesotho" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Lithuania" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Luxembourg" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Latvia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Libyan Arab Jamahiriya" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Morocco" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Monaco" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Moldova, Republic of" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Madagascar" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Marshall Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mali" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mongolia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Myanmar" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Macau" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Northern Mariana Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Martinique" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mauritania" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Monserrat" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Malta" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mauritius" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Maldives" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Malawi" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mexico" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Malaysia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mozambique" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Namibia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "New Caledonia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Niger" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Norfolk Island" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Nigeria" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Nicaragua" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Netherlands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Norway" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Nepal" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Nauru" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Niue" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "New Zealand" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Oman" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Panama" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Peru" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "French Polynesia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Papua New Guinea" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Philippines" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Pakistan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Poland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "St. Pierre & Miquelon" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Pitcairn" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Puerto Rico" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Portugal" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Palau" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Paraguay" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Qatar" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Reunion" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Romania" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Russian Federation" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Rwanda" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Saudi Arabia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Solomon Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Seychelles" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Sudan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Sweden" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Singapore" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "St. Helena" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Slovenia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Svalbard & Jan Mayen Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Slovakia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Sierra Leone" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "San Marino" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Senegal" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Somalia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Suriname" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Sao Tome & Principe" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "El Salvador" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Syrian Arab Republic" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Swaziland" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Turks & Caicos Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Chad" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "French Southern Territories" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Togo" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Thailand" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Tajikistan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Tokelau" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Turkmenistan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Tunisia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Tonga" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "East Timor" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Turkey" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Trinidad & Tobago" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Tuvalu" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Taiwan, Province of China" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Tanzania, United Republic of" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Ukraine" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Uganda" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "United States Minor Outlying Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "United States of America" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Uruguay" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Uzbekistan" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Vatican City State (Holy See)" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "St. Vincent & the Grenadines" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Venezuela" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "British Virgin Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "United States Virgin Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Viet Nam" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Vanuatu" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Wallis & Futuna Islands" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Samoa" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Yemen" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Mayotte" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Yugoslavia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "South Africa" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Zambia" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Zaire" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Zimbabwe" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Unknown or unspecified country" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Enter your name or company name" | ||||||
|  | msgstr "Geben Sie Ihren Namen oder der Ihrer Firma ein" | ||||||
|  | 
 | ||||||
|  | msgid "Cardholder Name" | ||||||
|  | msgstr "Name des Kartenbesitzer" | ||||||
|  | 
 | ||||||
|  | msgid "Street Address" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "City" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Postal Code" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Country" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Street Building" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Name" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Email" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Phone number" | ||||||
|  | msgstr "Telefon" | ||||||
|  | 
 | ||||||
|  | msgid "Message" | ||||||
|  | msgstr "Nachricht" | ||||||
|  | 
 | ||||||
|  | msgid "The link to reset your email has been sent to your email" | ||||||
|  | msgstr "Der Link zum Zur?cksetzen deines Passwortes wurde an deine E-Mail gesendet" | ||||||
|  | 
 | ||||||
|  | msgid "Password Reset" | ||||||
|  | msgstr "" | ||||||
|  | 
 | ||||||
|  | msgid "Password has been reset." | ||||||
|  | msgstr "Das Passwort wurde zur?ckgesetzt." | ||||||
|  | 
 | ||||||
|  | msgid "Password reset has not been successful." | ||||||
|  | msgstr "Das Zur?cksetzen war nicht erfolgreich." | ||||||
|  | 
 | ||||||
|  | msgid "The reset password link is no longer valid." | ||||||
|  | msgstr "Der Link zum Zur?cksetzen deines Passwortes ist nicht l?nger g?ltig." | ||||||
|  | @ -1,15 +1,16 @@ | ||||||
| from django.views.generic import FormView, CreateView | from django.conf import settings | ||||||
| from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode |  | ||||||
| from django.contrib import messages | from django.contrib import messages | ||||||
| from django.contrib.auth.tokens import default_token_generator |  | ||||||
| from django.utils.encoding import force_bytes |  | ||||||
| from django.http import HttpResponseRedirect |  | ||||||
| from django.contrib.auth import authenticate, login | from django.contrib.auth import authenticate, login | ||||||
|  | from django.contrib.auth.tokens import default_token_generator | ||||||
|  | from django.http import HttpResponseRedirect | ||||||
|  | from django.utils.encoding import force_bytes | ||||||
|  | from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode | ||||||
|  | from django.utils.translation import ugettext_lazy as _ | ||||||
|  | from django.views.generic import FormView, CreateView | ||||||
| 
 | 
 | ||||||
| from membership.models import CustomUser | from membership.models import CustomUser | ||||||
| 
 |  | ||||||
| from .mailer import BaseEmail |  | ||||||
| from .forms import SetPasswordForm | from .forms import SetPasswordForm | ||||||
|  | from .mailer import BaseEmail | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class SignupViewMixin(CreateView): | class SignupViewMixin(CreateView): | ||||||
|  | @ -17,8 +18,8 @@ class SignupViewMixin(CreateView): | ||||||
|     success_url = None |     success_url = None | ||||||
| 
 | 
 | ||||||
|     def get_success_url(self): |     def get_success_url(self): | ||||||
| 
 |         next_url = self.request.POST.get('next') if self.request.POST.get( | ||||||
|         next_url = self.request.POST.get('next') if self.request.POST.get('next')\ |             'next') \ | ||||||
|             else self.success_url |             else self.success_url | ||||||
| 
 | 
 | ||||||
|         return next_url |         return next_url | ||||||
|  | @ -65,39 +66,37 @@ class LoginViewMixin(FormView): | ||||||
| class PasswordResetViewMixin(FormView): | class PasswordResetViewMixin(FormView): | ||||||
|     # template_name = 'hosting/reset_password.html' |     # template_name = 'hosting/reset_password.html' | ||||||
|     # form_class = PasswordResetRequestForm |     # form_class = PasswordResetRequestForm | ||||||
|     success_message = "The link to reset your email has been sent to your email" |     success_message = _( | ||||||
|  |         "The link to reset your email has been sent to your email") | ||||||
|     site = '' |     site = '' | ||||||
|     success_message = "Thank you! You will shortly receive a password reset mail from us" |  | ||||||
|     # success_url = reverse_lazy('hosting:login') |  | ||||||
| 
 | 
 | ||||||
|     def test_generate_email_context(self, user): |     def test_generate_email_context(self, user): | ||||||
|         context = { |         context = { | ||||||
|             'user': user, |             'user': user, | ||||||
|             'token': default_token_generator.make_token(user), |             'token': default_token_generator.make_token(user), | ||||||
|             'uid': urlsafe_base64_encode(force_bytes(user.pk)), |             'uid': urlsafe_base64_encode(force_bytes(user.pk)), | ||||||
|             'site_name': 'ungleich', |             'site_name': 'ungleich' if self.site != 'dcl' else settings.DCL_TEXT, | ||||||
|             'base_url': "{0}://{1}".format(self.request.scheme, self.request.get_host()) |             'base_url': "{0}://{1}".format(self.request.scheme, | ||||||
|  |                                            self.request.get_host()) | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
|         return context |         return context | ||||||
| 
 | 
 | ||||||
|     def form_valid(self, form): |     def form_valid(self, form): | ||||||
| 
 |  | ||||||
|         email = form.cleaned_data.get('email') |         email = form.cleaned_data.get('email') | ||||||
|         user = CustomUser.objects.get(email=email) |         user = CustomUser.objects.get(email=email) | ||||||
| 
 |         messages.add_message(self.request, messages.SUCCESS, | ||||||
|         messages.add_message(self.request, messages.SUCCESS, self.success_message) |                              self.success_message) | ||||||
| 
 |  | ||||||
|         context = self.test_generate_email_context(user) |         context = self.test_generate_email_context(user) | ||||||
|         email_data = { |         email_data = { | ||||||
|             'subject': 'Password Reset', |             'subject': _('Password Reset'), | ||||||
|             'to': email, |             'to': email, | ||||||
|             'context': context, |             'context': context, | ||||||
|             'template_name': 'password_reset_email', |             'template_name': 'password_reset_email', | ||||||
|             'template_path': self.template_email_path |             'template_path': self.template_email_path | ||||||
|         } |         } | ||||||
|         if self.site == 'dcl': |         if self.site == 'dcl': | ||||||
|             email_data['from_address'] = '(Data Center Light) Data Center Light Support <support@datacenterlight.ch>' |             email_data['from_address'] = settings.DCL_SUPPORT_FROM_ADDRESS | ||||||
|         email = BaseEmail(**email_data) |         email = BaseEmail(**email_data) | ||||||
|         email.send() |         email.send() | ||||||
| 
 | 
 | ||||||
|  | @ -107,6 +106,7 @@ class PasswordResetViewMixin(FormView): | ||||||
| class PasswordResetConfirmViewMixin(FormView): | class PasswordResetConfirmViewMixin(FormView): | ||||||
|     # template_name = 'hosting/confirm_reset_password.html' |     # template_name = 'hosting/confirm_reset_password.html' | ||||||
|     form_class = SetPasswordForm |     form_class = SetPasswordForm | ||||||
|  | 
 | ||||||
|     # success_url = reverse_lazy('hosting:login') |     # success_url = reverse_lazy('hosting:login') | ||||||
| 
 | 
 | ||||||
|     def post(self, request, uidb64=None, token=None, *arg, **kwargs): |     def post(self, request, uidb64=None, token=None, *arg, **kwargs): | ||||||
|  | @ -118,19 +118,24 @@ class PasswordResetConfirmViewMixin(FormView): | ||||||
| 
 | 
 | ||||||
|         form = self.form_class(request.POST) |         form = self.form_class(request.POST) | ||||||
| 
 | 
 | ||||||
|         if user is not None and default_token_generator.check_token(user, token): |         if user is not None and default_token_generator.check_token(user, | ||||||
|  |                                                                     token): | ||||||
|             if form.is_valid(): |             if form.is_valid(): | ||||||
|                 new_password = form.cleaned_data['new_password2'] |                 new_password = form.cleaned_data['new_password2'] | ||||||
|                 user.set_password(new_password) |                 user.set_password(new_password) | ||||||
|                 user.save() |                 user.save() | ||||||
|                 messages.success(request, 'Password has been reset.') |                 messages.success(request, _('Password has been reset.')) | ||||||
|                 return self.form_valid(form) |                 return self.form_valid(form) | ||||||
|             else: |             else: | ||||||
|                 messages.error(request, 'Password reset has not been successful.') |                 messages.error(request, | ||||||
|                 form.add_error(None, 'Password reset has not been successful.') |                                _('Password reset has not been successful.')) | ||||||
|  |                 form.add_error(None, | ||||||
|  |                                _('Password reset has not been successful.')) | ||||||
|                 return self.form_invalid(form) |                 return self.form_invalid(form) | ||||||
| 
 | 
 | ||||||
|         else: |         else: | ||||||
|             messages.error(request, 'The reset password link is no longer valid.') |             messages.error(request, | ||||||
|             form.add_error(None, 'The reset password link is no longer valid.') |                            _('The reset password link is no longer valid.')) | ||||||
|  |             form.add_error(None, | ||||||
|  |                            _('The reset password link is no longer valid.')) | ||||||
|             return self.form_invalid(form) |             return self.form_invalid(form) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue