def hola(solicitud): if solicitud.method == 'POST' and solicitud.POST.get('email') and solicitud.POST.get('nombre'): pais = get_pais(solicitud.META) email = solicitud.POST['email'] nombre = solicitud.POST['nombre'] # por si el usuario esta detras de un proxy if solicitud.META.get('HTTP_X_FORWARDED_FOR'): ip = solicitud.META['HTTP_X_FORWARDED_FOR'].split(',')[0] else: ip = solicitud.META['REMOTE_ADDR'] payload = { 'email_address': email, 'apikey': settings.MAILCHIMP_APIKEY, 'merge_vars': { 'FNAME': nombre, 'OPTINIP': ip, 'OPTIN_TIME': time.time(), 'PAIS': pais }, 'id': settings.MAILCHIMP_LISTID, 'email_type': 'html' } r = requests.post('http://us2.api.mailchimp.com/1.3/?method=listSubscribe', simplejson.dumps(payload)) return HttpResponse(r.text) return render_to_response('website/hola.html', {})
def locateme(solicitud): ip = solicitud.GET.get('ip') if ip: return HttpResponse(get_pais_by_ip(ip)) return HttpResponse(get_pais(solicitud.META))
def home(solicitud): # si no existe el valor aun en la base de datos try: es_vivo = Setting.objects.get(key='en_vivo').value except Setting.DoesNotExist: es_vivo = False # checar si estamos transmitiendo en vivo # regresar la vista de "vivo" de ser asi if ('live' in solicitud.GET and solicitud.GET['live'] == '1') or es_vivo: return render_to_response('website/live.html') # si no hay videos aun try: ultimo_video = Video.objects.all().filter(activado=True).latest('fecha') except Video.DoesNotExist: ultimo_video = None ultimos_4_videos = Video.objects.all().order_by('-fecha').filter(activado=True)[1:5] # plantilla return render_to_response('website/home.html', { 'ultimo_video': ultimo_video, # El ultimo video 'videos': ultimos_4_videos, # ultimos 4 videos 'pais': get_pais(solicitud.META), # el horario del programa localizado 'timestamp': get_timestamp(), # Obtiene el timestamp del sig. program. 'cursos': Curso.objects.all().order_by('fecha').filter(activado=True, fecha__gte=datetime.datetime.now()), 'cursos_geo': Curso.objects.all().order_by('fecha').filter(activado=True, fecha__gte=datetime.datetime.now(), pais=get_pais(solicitud.META)) })
def hola(solicitud): if solicitud.method == 'POST' and solicitud.POST.get('email') and solicitud.POST.get('nombre'): pais = get_pais(solicitud.META) email = solicitud.POST['email'] nombre = solicitud.POST['nombre'] payload = { 'email_address': email, 'apikey': settings.MAILCHIMP_APIKEY, 'merge_vars': { 'FNAME': nombre, 'OPTINIP': get_ip(solicitud.META), 'OPTIN_TIME': time.time(), 'PAIS': pais }, 'id': settings.MAILCHIMP_LISTID, 'email_type': 'html' } r = requests.post('http://us4.api.mailchimp.com/1.3/?method=listSubscribe', simplejson.dumps(payload)) return HttpResponse(r.text) return render_to_response('./hola.html')
def home(solicitud): # si no existe el valor aun en la base de datos try: es_vivo = Setting.objects.get(key='en_vivo').value except Setting.DoesNotExist: es_vivo = False # checar si estamos transmitiendo en vivo # regresar la vista de "vivo" de ser asi if es_vivo: return render_to_response('./live.html') # si no hay videos aun try: ultimo_video = Video.objects.filter(activado=True).latest('fecha') except Video.DoesNotExist: ultimo_video = None proximos = Video.objects.filter(proximo=True) ultimos_4_videos = Video.objects.filter(activado=True).order_by('-fecha')[1:5] pais = get_pais(solicitud.META) # plantilla return render_to_response('./home.html', { 'ultimo_video': ultimo_video, # El ultimo video 'videos': ultimos_4_videos, # ultimos 4 videos 'pais': pais, # el horario del programa localizado 'timestamp': get_timestamp(), # Obtiene el timestamp del sig. program. 'cursos': Curso.objects.filter(activado=True, fecha__gte=datetime.datetime.now()).order_by('fecha'), 'cursos_geo': Curso.objects.filter(activado=True, fecha__gte=datetime.datetime.now(), pais=pais).order_by('fecha'), 'proximo': proximos[0] if proximos.exists() else None })
def conferencia(solicitud, template): if template: try: return render_to_response('%s.html' % template) except TemplateDoesNotExist: return render_to_response('default.html') try: return render_to_response('%s.html' % slugify(get_pais(solicitud.META))) except TemplateDoesNotExist: return render_to_response('default.html')
def conferencia_registro2(solicitud): if settings.DEBUG: return HttpResponse() asunto = 'Inscripción a la conferencia' if solicitud.POST.get('asunto'): asunto = solicitud.POST.get('asunto') if not solicitud.POST.get('nombre') or not solicitud.POST.get('email'): return HttpResponse() try: registro = RegistroConferencia(nombre=solicitud.POST.get('nombre'), email=solicitud.POST.get('email'), pais=get_pais(solicitud.META)) registro.save() except: return HttpResponse('FAIL') if solicitud.POST.get('extended') == 'viaje': send_mail(asunto, u'Nombre: %s\nApellidos: %s\nEmail: %s\nSexo: %s\nTipo de habitación: %s\nTeléfono: %s\nUsuario de Twitter: %s\nComentario: %s\n' % (solicitud.POST.get('nombre'), solicitud.POST.get('apellidos'), solicitud.POST.get('email'), solicitud.POST.get('sexo'), solicitud.POST.get('tipo'), solicitud.POST.get('telefono'), solicitud.POST.get('twitter'), solicitud.POST.get('comentario')), settings.FROM_CONFERENCIA_EMAIL, settings.TO_CONFERENCIA_EMAIL) else: send_mail(asunto, 'Nombre: %s\nEmail: %s\n' % (solicitud.POST.get('nombre'), solicitud.POST.get('email')), settings.FROM_CONFERENCIA_EMAIL, settings.TO_CONFERENCIA_EMAIL) # por si el usuario esta detras de un proxy if solicitud.META.get('HTTP_X_FORWARDED_FOR'): ip = solicitud.META['HTTP_X_FORWARDED_FOR'].split(',')[0] else: ip = solicitud.META['REMOTE_ADDR'] pais = get_pais(solicitud.META) payload = { 'email_address': solicitud.POST.get('email'), 'apikey': settings.MAILCHIMP_APIKEY, 'merge_vars': { 'FNAME': solicitud.POST.get('nombre'), 'OPTINIP': ip, 'OPTIN_TIME': time.time(), 'PAIS': pais }, 'id': settings.MAILCHIMP_LISTID2, 'email_type': 'html' } r = requests.post('http://us2.api.mailchimp.com/1.3/?method=listSubscribe', simplejson.dumps(payload)) return HttpResponse('OK')
def geo(req): return {'geo_pais': get_pais(req.META).lower()}
def conferencia_registro(solicitud): if settings.DEBUG: return HttpResponse() asunto = 'Inscripción a la conferencia' if solicitud.POST.get('asunto'): asunto = solicitud.POST.get('asunto') if not solicitud.POST.get('nombre') or not solicitud.POST.get('email'): return HttpResponse() try: registro = RegistroConferencia(nombre=solicitud.POST.get('nombre'), email=solicitud.POST.get('email'), pais=get_pais(solicitud.META)) registro.save() except: return HttpResponse('FAIL') if solicitud.POST.get('extended') == 'viaje': send_mail(asunto, u'Nombre: %s\nApellidos: %s\nEmail: %s\nSexo: %s\nTipo de habitación: %s\nTeléfono: %s\nUsuario de Twitter: %s\nComentario: %s\n' % (solicitud.POST.get('nombre'), solicitud.POST.get('apellidos'), solicitud.POST.get('email'), solicitud.POST.get('sexo'), solicitud.POST.get('tipo'), solicitud.POST.get('telefono'), solicitud.POST.get('twitter'), solicitud.POST.get('comentario')), settings.FROM_CONFERENCIA_EMAIL, settings.TO_CONFERENCIA_EMAIL) else: send_mail(asunto, 'Nombre: %s\nEmail: %s\n' % (solicitud.POST.get('nombre'), solicitud.POST.get('email')), settings.FROM_CONFERENCIA_EMAIL, settings.TO_CONFERENCIA_EMAIL) return HttpResponse('OK')
def locateme(solicitud): return HttpResponse(get_pais(solicitud.META))
def cursos_registro(solicitud): if solicitud.POST.get('nombre') and solicitud.POST.get('telefono') and solicitud.POST.get('email') and solicitud.POST.get('curso') and solicitud.POST.get('code') and solicitud.POST.get('total'): if RegistroCurso.objects.filter(email=solicitud.POST.get('email'), code=solicitud.POST.get('code')).exists(): return HttpResponse('ERROR: Ya te has registrado a este curso.') registro = RegistroCurso(nombre=solicitud.POST.get('nombre'), telefono=solicitud.POST.get('telefono'), email=solicitud.POST.get('email'), curso=solicitud.POST.get('curso'), pais=get_pais(solicitud.META), code=solicitud.POST.get('code'), total=solicitud.POST.get('total'), currency=solicitud.POST.get('currency')) if solicitud.POST.get('personas'): registro.personas = int(solicitud.POST.get('personas')) if solicitud.POST.get('descuento'): registro.descuento = float(solicitud.POST.get('descuento')) if solicitud.POST.get('tipo'): registro.tipo = solicitud.POST.get('tipo') registro.save() solicitud.session['registro_id'] = registro.id return HttpResponse('OK') return HttpResponse('ERROR')
def geo(req): return { 'geo_pais': get_pais(req.META).lower() }