def activa_membresia_update(request): idMem = int(request.session.get('membresia_id', 0)) try: objMembresia = membresia.objects.get(pk=idMem) except: return HttpResponseRedirect("/") if request.method == "POST": frmReg = registerUserFrm(request.POST) frm = frmInfoActivacion(request.POST) if frm.is_valid() and frmReg.is_valid(): # Crea usuario nuevo para inicio de sesion user_name = frmReg.cleaned_data['username'] password_ = frmReg.cleaned_data['password'] email_ = objMembresia.email new_user = User.objects.create_user(username=user_name,password= password_,email=email_) new_user.first_name = objMembresia.nombre new_user.last_name = "%s %s" %(objMembresia.apellido_paterno,objMembresia.apellido_materno) new_user.is_staff = False new_user.save() # Actualiza info de Membresia objMembresia.miembro = new_user objMembresia.activa = True objMembresia.renovo_pass = True objMembresia.save() # Edita y guarda info adicional frmAdicional = frm.save(commit=False) frmAdicional.membresia = objMembresia frmAdicional.save() # Agrega relaciones de membresias adicionales # rel_mem try: MemAdicionales = membresia.objects.filter(padre=objMembresia.id) except: MemAdicionales = None if MemAdicionales: for MemAdicional in MemAdicionales: new_rel = rel_mem(titular=new_user,mem_titular=objMembresia,mem_referido=MemAdicional) new_rel.save() # Envio de email de confirmacion de registro _envia_email_registro(new_user) # Se redirecciona al login para usuarios return HttpResponseRedirect("/usuarios/login/") ctx = {'frmActiva':frm,'frmR':frmReg} else: frmReg = registerUserFrm() frm = frmInfoActivacion() ctx = {'frmActiva':frmInfoActivacion,'frmR':frmReg} return render_to_response('forms/membresia/activa_membresia.html',ctx,context_instance=RequestContext(request))
def compra_multiple(request,cant=0): cantidad = int(cant) if cantidad > 9 or cantidad < 1: return HttpResponseRedirect('/membresia.corporativa/') MemFormSet = formset_factory(frmComMem,extra=cantidad) if request.method == 'POST': frm = MemFormSet(request.POST) if frm.is_valid(): if request.user.is_authenticated(): objMem = get_object_or_404(membresia,miembro=request.user) idsMemCompradas = [] for Mem in frm: NewMem = Mem.save(commit=False) NewMem.tipo = 1 NewMem.password = _pw() NewMem.costo = 1575.00 * 0.85 NewMem.padre = objMem.id NewMem.save() idsMemCompradas.append(NewMem.id) # Se agrega relacion de titular y referido objRel = rel_mem(titular=request.user,mem_titular=objMem,mem_referido=NewMem) objRel.save() request.session['memcompradas'] = idsMemCompradas print idsMemCompradas request.session['MemPadre'] = objMem.id return HttpResponseRedirect('/membresia.resumen/multiple/') else: cont = 1 padre = 0 for Mem in frm: NewMem = Mem.save(commit=False) NewMem.tipo = 1 NewMem.password = _pw() NewMem.costo = 1575.00 if cont != 1: NewMem.costo = 1575 * 0.85 NewMem.padre = padre NewMem.save() if cont == 1: padre = NewMem.id request.session['MemPadre'] = padre cont = cont + 1 return HttpResponseRedirect('/membresia.resumen/multiple/') else: objForm = frm ctx = {'frmSet':objForm} return render_to_response('forms/membresia/compra_multiple.html',ctx,context_instance=RequestContext(request)) else: objForm = MemFormSet() ctx = {'frmSet':objForm} return render_to_response('forms/membresia/compra_multiple.html',ctx,context_instance=RequestContext(request))
objRel = None if objRel >= 9: ctx ={'objMensaje':"No puedes agregar a mas de 9 membresias, para esto habla con uno de nuestros call center, quien te asesorara para migrar a tipo corporativo."} return render_to_response('mensaje/mensaje.html',ctx,context_instance=RequestContext(request)) if request.method == "POST": frm = frmCompraMembresiaCallCenter(request.POST) if frm.is_valid(): newMem = frm.save(commit=False) newMem.password = _pw() newMem.save() request.session['pkMem'] = newMem.id # Agrega relacion de referidos objMemTit = get_object_or_404(membresia,miembro=request.user) objRel = rel_mem(titular=request.user,mem_titular=objMemTit,mem_referido=newMem) objRel.save() # Agrega activiadad texto = "Usted a comprado una nueva membresia con el id %s" % newMem.id add_act(request.user,texto) # Muestra resumen return HttpResponseRedirect('/membresia.resumen/') else: objForm = frm else: objForm = frmCompraMembresiaCallCenter() ctx = {'form':objForm,'tipo':idtipo} return render_to_response('forms/membresia/compra_referido.html',ctx,context_instance=RequestContext(request))