#-*- coding: utf-8 -*-
from django.shortcuts import render
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.http import HttpResponseRedirect
from django.core.mail import EmailMultiAlternatives
from django.contrib import messages
from .models import *
from .forms import *
from datetime import datetime


# Create your views here.

def Solicitud_View (request):
	###### Informacion del formualario #########
	info_enviado = False 
	info_enviado_admin = False
	info_enviado_user = False
	correo = ""
	nombres  = ""
	apellidos = ""
	cedula = ""
	telefono = ""
	tipo_servicio = ""
	servicio = " "
	servicio_usuario = ""
	
	####### VARIABLES CODIGO DE SOLICITUD################
	cod = Solicitud.objects.count()
	cod= cod+1
	x = str(cod)
	codigo_parsear= ""
	cadena_ceros = ""
	fecha = ""

	if request.method == "POST":
		formulario = solicitud_form(request.POST, request.FILES)
		if formulario.is_valid():
			info_enviado = True
			correo 	= formulario.cleaned_data['correo']
			nombres = formulario.cleaned_data['nombres']
			apellidos = formulario.cleaned_data['apellidos']
			cedula = formulario.cleaned_data['cedula']
			telefono = formulario.cleaned_data['telefono']
			tipo_servicio = formulario.cleaned_data['tipo_servicio']

			if cod < 10:
				cadena_ceros="0000000"
			elif cod >= 10 and cod<100:
				cadena_ceros="000000"
			elif cod >= 100 and cod<1000:
				cadena_ceros="00000"
			elif cod >= 1000 and cod<10000:
				cadena_ceros="0000"	
			elif cod >= 10000 and cod<100000:
				cadena_ceros="000"
			elif cod >= 100000 and cod<1000000:
				cadena_ceros="00"
			elif cod >= 1000000 and cod<10000000:
				cadena_ceros="0"
			elif cod >= 10000000 and cod<100000000:
				cadena_ceros=""
			fecha = datetime.now()
			codigo_parsear=('%s%s%s%s')%(fecha.year, fecha.month, cadena_ceros,cod)						
			#print(codigo_parsear)
			
			form = formulario.save(commit=False)
			form.codigo=str(codigo_parsear)
			#form.status = True
			form.save()

			if tipo_servicio == 'Duplicado_Carnet':
				servicio = "Duplicado de carnet"
				servicio_usuario = "Duplicado de carnet: valor $5.000, entregar a Marta Lucia Muñoz"

			if tipo_servicio == 'Duplicado_Constancias':
				servicio = "Duplicado de constancias"
				servicio_usuario = "Duplicado de constancias: valor $4.500, entregar a Cristina Mera"

			if tipo_servicio == 'Duplicado_Actas':
				servicio = "Duplicado de actas de grado" 
				servicio_usuario = "Duplicado de actas de grado: valor $4.500, entregar a Cristina Mera"

			if tipo_servicio == 'Duplicado_Certificados':
				servicio = "Duplicado de certificados" 
				servicio_usuario = "Duplicado de certificados: valor $4.500, entregar a Cristina Mera"

			if tipo_servicio == 'Contenidos_Programaticos':
				servicio = "Contenidos programaticos" 	
				servicio_usuario = "Contenidos programaticos: valor $4.500, entregar a Lina Villamil"		 	 

			'''Bloque configuracion de envio por GMAIL'''
			to_admin = 'dbenitez@sena.edu.co'
			#to_admin = 'drmosquera90@misena.edu.co'
			to_user = correo
			html_content_admin = "<p><b>Solicitud de servicio: </b>%s</p> <!--<p><b>Codigo de radicado:</b> %s</p>--> <br> <b>Nombres</b>: %s <br><br> <b>Apellidos</b>: %s  <br><br> <b>Correo:</b> %s  <br><br> <b>Cedula:</b> %s  <br><br> <b>Telefono:</b> %s "%(servicio,codigo_parsear,nombres,apellidos,correo,cedula,telefono)
			html_content_user = "<p><b>Solicitud de servicio: </b>%s</p> <!--<p><b>Codigo de radicado:</b> %s</p>--> <p><b>Apreciado usuario, su solicitud será respondida en un termino maximo de 24 horas, por favor tenga en cuenta siguientes instrucciones:</b></p> 1. Debe imprimir únicamente copia que hace referencia al banco, importante: DEBE IMPRIMIR EL RECIBO EN IMPRESORA LASER.<br>2. Debe hacer consignación en sucursales Bancolombia(no corresponsales bancarios).<br>3. Una vez consigne o cancele su recibo debe hacerlos llegar a las oficinas de coordinación académica según su solicitud ,en este caso:  %s.<br>4. La consignación debe hacerse el mismo día que se genera el recibo."%(servicio,codigo_parsear,servicio_usuario)

			msg = EmailMultiAlternatives('Solicitud de recibo de consignacion de %s %s, con codigo %s'%(nombres,apellidos,codigo_parsear), html_content_admin, 'from@gmail.com',[to_admin])
			msg2 = EmailMultiAlternatives('Solicitud de recibo de consignacion %s (Recuerde esto al momento de obtener el recibo)'%(codigo_parsear), html_content_user, 'from@gmail.com',[to_user])
			msg.attach_alternative(html_content_admin,'text/html')			
			msg2.attach_alternative(html_content_user,'text/html')			
			msg.send()
			msg2.send()
			form_status= formulario.save(commit=False)
			if msg.send:
				form_status.status_admin=True
				info_enviado_admin = True
			if msg2.send:
				form_status.status_user=True
				info_enviado_user = True

			form_status.save()

			'''Fin del bloque'''
	else:
		formulario = solicitud_form()		
	ctx = {'form':formulario, 'correo':correo, 'nombres':nombres, 'apellidos':apellidos, 'cedula':cedula, 'telefono':telefono, 'tipo_servicio': tipo_servicio, 'info_enviado': info_enviado, 'info_enviado_admin': info_enviado_admin, 'info_enviado_user': info_enviado_user}	
	return render(request,'formulario/solicitud.html',ctx)
