def form_valid(self, form): form.user = self.request.user super(SiteEditEmail, self).form_valid(form) if 'email' in form.changed_data and self.object.email: email_confirmation(self.object) launch_ansible_site(self.object) return redirect(self.object)
def form_valid(self, form): # This method is called when valid form data has been POSTed. # It should return an HttpResponse. siteform = form.save(commit=False) preallocated_site = Site.objects.filter(preallocated=True, disabled=True, type=siteform.type).first() if not preallocated_site: form.add_error( "type", "No MWS Servers available at this moment with this configuration as they are " "currently being built, please try again later (they usually take 20 minutes to " "build) or email %s if you have any question." % getattr(django_settings, 'EMAIL_MWS3_SUPPORT', '*****@*****.**')) return self.form_invalid(form) preallocated_site.start_date = datetime.date.today() preallocated_site.name = siteform.name preallocated_site.description = siteform.description preallocated_site.email = siteform.email preallocated_site.disabled = False preallocated_site.preallocated = False preallocated_site.full_clean() preallocated_site.save() # Save user that requested the site preallocated_site.users.add(self.request.user) if preallocated_site.email: email_confirmation(preallocated_site) LOGGER.info( str(self.request.user.username) + " requested a new server '" + str(preallocated_site.name) + "'") preallocated_site.production_service.power_on() check_num_preallocated_sites.delay() return redirect(preallocated_site)
def form_valid(self, form): form.user = self.request.user return_value = super(SiteEdit, self).form_valid(form) if 'email' in form.changed_data: if self.object.email: email_confirmation(self.object) # TODO launch ansible to update webmaster email address in host? return return_value