Added sending email to user on create vm
This commit is contained in:
		
					parent
					
						
							
								f2ee0ea657
							
						
					
				
			
			
				commit
				
					
						acb739944b
					
				
			
		
					 2 changed files with 26 additions and 1 deletions
				
			
		|  | @ -5,6 +5,7 @@ from celery.utils.log import get_task_logger | ||||||
| from celery import current_task | from celery import current_task | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
| from django.core.mail import EmailMessage | from django.core.mail import EmailMessage | ||||||
|  | from django.utils.translation import ugettext_lazy as _ | ||||||
| 
 | 
 | ||||||
| from dynamicweb.celery import app | from dynamicweb.celery import app | ||||||
| from hosting.models import HostingOrder, HostingBill | from hosting.models import HostingOrder, HostingBill | ||||||
|  | @ -13,6 +14,7 @@ from opennebula_api.models import OpenNebulaManager | ||||||
| from opennebula_api.serializers import VirtualMachineSerializer | from opennebula_api.serializers import VirtualMachineSerializer | ||||||
| from utils.hosting_utils import get_all_public_keys | from utils.hosting_utils import get_all_public_keys | ||||||
| from utils.forms import UserBillingAddressForm | from utils.forms import UserBillingAddressForm | ||||||
|  | from utils.mailer import BaseEmail | ||||||
| from utils.models import BillingAddress | from utils.models import BillingAddress | ||||||
| 
 | 
 | ||||||
| logger = get_task_logger(__name__) | logger = get_task_logger(__name__) | ||||||
|  | @ -139,6 +141,27 @@ def create_vm_task(self, vm_template_id, user, specs, template, | ||||||
|         email.send() |         email.send() | ||||||
| 
 | 
 | ||||||
|         if 'pass' in user: |         if 'pass' in user: | ||||||
|  |             # Send notification to the user as soon as VM has been booked | ||||||
|  |             context = { | ||||||
|  |                 'vm': vm, | ||||||
|  |                 'order': order, | ||||||
|  |                 'base_url': "{0}://{1}".format(user.get('request_scheme'), | ||||||
|  |                                                user.get('request_host')), | ||||||
|  |                 'page_header': _( | ||||||
|  |                     'Your New VM %(vm_name)s at Data Center Light') % { | ||||||
|  |                                    'vm_name': vm.get('name')} | ||||||
|  |             } | ||||||
|  |             email_data = { | ||||||
|  |                 'subject': context.get('page_header'), | ||||||
|  |                 'to': user.get('email'), | ||||||
|  |                 'context': context, | ||||||
|  |                 'template_name': 'new_booked_vm', | ||||||
|  |                 'template_path': 'hosting/emails/', | ||||||
|  |                 'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, | ||||||
|  |             } | ||||||
|  |             email = BaseEmail(**email_data) | ||||||
|  |             email.send() | ||||||
|  | 
 | ||||||
|             # try to see if we have the IP and that if the ssh keys can |             # try to see if we have the IP and that if the ssh keys can | ||||||
|             # be configured |             # be configured | ||||||
|             new_host = manager.get_primary_ipv4(vm_id) |             new_host = manager.get_primary_ipv4(vm_id) | ||||||
|  |  | ||||||
|  | @ -754,7 +754,9 @@ class OrdersHostingDetailView(LoginRequiredMixin, | ||||||
|         user = { |         user = { | ||||||
|             'name': self.request.user.name, |             'name': self.request.user.name, | ||||||
|             'email': self.request.user.email, |             'email': self.request.user.email, | ||||||
|             'pass': self.request.user.password |             'pass': self.request.user.password, | ||||||
|  |             'request_scheme': request.scheme, | ||||||
|  |             'request_host': request.get_host(), | ||||||
|         } |         } | ||||||
|         create_vm_task.delay(vm_template_id, user, specs, template, |         create_vm_task.delay(vm_template_id, user, specs, template, | ||||||
|                              stripe_customer_id, billing_address_data, |                              stripe_customer_id, billing_address_data, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue