Esempio n. 1
0
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))
Esempio n. 2
0
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))