def CompanyContact(request): import string, random if request.method == "POST": form = CompanyContactForm(request.POST, request.FILES) if form.is_valid(): company = Company(**form.cleaned_data) # set slug slug = slugify(request.POST["name"]) company.slug = slug # set randomin password chars = string.ascii_uppercase + string.digits + string.ascii_lowercase company.password = "".join(random.choice(chars) for x in range(15)) company.save() # create user from django.contrib.auth.models import User user = User.objects.create_user(company.contact_email, company.contact_email, company.password) user.first_name = company.name user.save() user = User.objects.filter(username=company.contact_email) user = user[0] user.set_password(company.password) user.save() # send email with login info try: plaintext = get_template("email/registrook.txt") htmly = get_template("email/registrook.html") d = Context( { "contact_name": request.POST["contact_name"], "empresa": request.POST["name"], "contact_email": request.POST["contact_email"], "password": company.password, } ) subject, from_email, to = ( "Registro de empresa en Meguz.com", "*****@*****.**", request.POST["contact_email"], ) text_content = plaintext.render(d) html_content = htmly.render(d) msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") msg.send() # redirect to 'register ok' page return HttpResponseRedirect("/empresa/registro/ok") except Exception, e: return render_to_response("company/contact.html", {"e": e}, context_instance=RequestContext(request))
def Profile(request): user_email = request.user.email company = Company.objects.get(contact_email=user_email) if company is None: HttpResponseRedirect("/epanel") else: if request.method == 'POST': # Proceso form form = CompanyEditForm(request.POST, request.FILES) if(form.is_valid()): edit_company = Company(**form.cleaned_data) edit_company.id = company.id edit_company.slug = company.slug edit_company.contact_email = company.contact_email if 'logo' not in request.FILES: edit_company.logo = company.logo edit_company.save() # TODO: Check contact_email change and update userinfo return HttpResponseRedirect("/epanel/perfil") else: form = CompanyEditForm(initial={ 'name': company.name, 'slogan': company.slogan, 'logo': company.logo, 'rut': company.rut, 'address': company.address, 'phone': company.phone, 'email': company.email, 'website': company.website, 'contact_name': company.contact_name, 'contact_email': company.contact_email, 'contact_phone': company.contact_phone, }) context = {'form':form} return render_to_response('epanel/profile.html', context, context_instance=RequestContext(request))