def userAdd(request): from django.core.mail import send_mail, BadHeaderError from administracion.forms import RegistrationForm from django.conf import settings import random import string if request.method == 'POST': s=string.lowercase+string.digits password=random.sample(s,6) requestCopy = request.POST.copy() requestCopy['password1']=password requestCopy['password2']=password formulario=RegistrationForm(requestCopy) if(formulario.is_valid()): usuario=formulario.save() usuario.groups.add(3) usuario.save() publicador=Publicador.objects.get(user=request.user.id) publicador.user.add(usuario.id) publicador.save() message=u"""Te damos la bienvenida a mangaInk\n El Fansub: {0} \n Te ha asociado como parte de su equipo. \n El cual esta administrado por {1} \n Los datos para acceder {2} \n Contraseña: {3} \n Si tiene problemas con este correo puedes escribirle al correo del Administrador {4} \n o en la sección de contacto en mangaInk.com \n\n Para acceder visita la siguiente web: http://www.mangaink.com/acceder/""".format(publicador,request.user.username,request.POST['username'],password,request.user.email) try: send_mail("Ahora formas parte de un Fansub de MangaInK", message, settings.EMAIL_FROM, [request.POST['email']]) messages.success(request, "Nuevo usuario creado para tu fansub, se le envio un corrreo al usuario con sus datos") except BadHeaderError: messages.warning(u"Ocurrio un error y no se pudo enviar el correo. Contácte al nuevo usuario e informe de sus datos de acceso.") return redirect('/fansub/usuarios') else: messages.error(request, u'Error: Uno o más campos son incorrectos, corregir e intente nuevamente') else: formulario=RegistrationForm() return render_to_response('addUser.html', {'user':request.user, 'formulario':formulario}, RequestContext(request))
def registro(request): from administracion.forms import RegistrationForm from recaptcha.client import captcha if request.user.is_authenticated() and request.user.groups.all() and (request.user.groups.all()[0].id == 2 or request.user.groups.all()[0].id == 3): messages.info(request, "Ya su cuenta de usuario esta asociada a un Fansub") return redirect('/') if request.method == 'POST': response = captcha.submit( request.POST.get('recaptcha_challenge_field'), request.POST.get('recaptcha_response_field'), '6Le-l98SAAAAAF32m3a--C06tOrk5VXR1GHol0DS', request.META['REMOTE_ADDR'],) if response.is_valid: if request.user.is_authenticated(): requestCopy = request.POST.copy() requestCopy['user']=request.user.id formulario=PublicadorForm(requestCopy, request.FILES) formulario2='' if formulario.is_valid(): if formulario.save(): messages.success(request, "Exito se ha creado el nuevo fansub, y tu eres el administrador") request.user.groups.add(2) request.user.save() return redirect('/') else: messages.error(request, "Ocurrio un error y no se pudo registrar el nuevo Fansub, Por favor Intenten nuevamente") else: messages.error(request, u'Error: Uno o más campos son incorrectos, corregir e intente nuevamente') else: formulario2=RegistrationForm(request.POST, prefix='usuarios') if(formulario2.is_valid()): usuario=formulario2.save() requestCopy = request.POST.copy() requestCopy['publicador-user']=usuario.id formulario=PublicadorForm(requestCopy, request.FILES, prefix="publicador") if formulario.is_valid(): if formulario.save(): messages.success(request, "Exito se ha creado el nuevo fansub, y tu eres el administrador") usuario.groups.add(2) usuario.save() user = authenticate(username=request.POST['usuarios-username'], password=request.POST['usuarios-password1']) login(request, user) return redirect('/') else: messages.error(request, "Ocurrio un error y no se pudo registrar el nuevo Fansub, Por favor Intenten nuevamente") else: messages.error(request, u'Error: Uno o más campos son incorrectos, corregir e intente nuevamente') else: formulario=PublicadorForm(request.POST, request.FILES, prefix="publicador") messages.error(request, u'Error: Uno o más campos son incorrectos, corregir e intente nuevamente') else: formulario=PublicadorForm(request.POST, request.FILES, prefix="publicador") formulario2=RegistrationForm(request.POST, prefix='usuarios') messages.error(request, u'La palabra de seguridad no es correcta por favor intente nuevamente') else: if request.user.is_authenticated(): formulario=PublicadorForm( initial={'user':[str(request.user.id)]}) formulario2='' else: formulario=PublicadorForm(prefix="publicador"); formulario2=RegistrationForm(prefix='usuarios') return render_to_response('registro.html', {'user':request.user, 'formulario':formulario, 'formulario2':formulario2}, RequestContext(request))