Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 400

Compromisos portátiles

Ver diferencias:

controlies/trunk/applications/controlies/views/reports/laptops_authorization.html
}
function report(){
jQuery.ajax("report")
jQuery.ajax({url:"report",data:jQuery("#form_authorization").serialize()})
.done(function ( data ){
eval(data);
}
......
}
</script>
<form id="form_authorization">
<table width="100%" cellspacing="12">
<tr>
<td>
......
<td HEIGHT="200PX">
Tipo usuario
<select id="user_type" name="user_type">
<option>Profesores</option>
<option>Alumnos</option>
<option value="Profesor">Profesores</option>
<option value="Alumno">Alumnos</option>
</select>
</td>
<td>
controlies/trunk/applications/controlies/controllers/reports.py
# -*- coding: utf-8 -*-.
def laptops_authorization():
return dict()
......
@auth.requires_login()
def report():
from gluon.contrib.pyfpdf import FPDF
from gluon.contrib.pyfpdf import FPDF, HTMLMixin
class MyFPDF(FPDF, HTMLMixin):
def header(self):
#logo=os.path.join(request.env.web2py_path,"applications","controlies","static","logo_consejeria.jpg")
#self.image(logo,145,4,60)
#self.ln(80)
pass
def footer(self):
#self.set_y(-15)
#self.set_font('Arial','I',8)
#self.cell(0,10,"IES Sta Eulalia - Mérida".decode("utf8").encode("latin1"),0,0,'L')
#self.cell(0,10,"Consejería de Educación - Gobierno de Extremadura".decode("utf8").encode("latin1"),0,0,'R')
pass
sql = "SELECT lh.name, lt.trademark, lt.model, l.serial_number, ut.user_type, lh.username"
sql = sql+" FROM laptops l, laptops_historical lh"
sql = sql+" LEFT JOIN laptops_trademarks lt ON l.id_trademark=lt.id_trademark"
sql = sql+" LEFT JOIN states s ON lh.id_state=s.id_state"
sql = sql+" LEFT JOIN users_types ut ON ut.id_user_type=lh.id_user_type"
sql = sql+" WHERE s.state='Asignado' AND user_type='"+request.vars['user_type']+"'"
sql = sql+" AND l.id_laptop=lh.id_laptop"
sql = sql+" AND lh.id_historical IN (SELECT MAX(lh2.id_historical) FROM laptops_historical lh2 WHERE lh2.id_laptop=l.id_laptop)"
pdf=FPDF()
pdf.add_page()
pdf.set_font('Arial','B',16)
pdf.cell(40,10,'Hello World at %s!' % request.now)
doc=pdf.output(dest='S')
pdf=MyFPDF()
result = cdb.executesql(sql)
count = 0
for reg in result:
doc64=embed64(data=doc,extension='application/pdf')
titulo = "Compromiso para el cuidado y mantenimiento del ordenador portátil"
return 'window.location="%s";' % doc64
if request.vars['user_type']=="Profesor":
parrafo1 = "D/Dña <b>"+reg[0]+"</b>, profesor/a de este centro , recibe en el día de hoy, de la Dirección del Centro, el ordenador portátil <b>"+reg[1]+" - "+reg[2]+"</b> número de serie: <b>"+reg[3]+"</b>, comprometiéndose a utilizarlo como herramienta didáctica en los cursos pertenecientes al Proyecto Escuela 2.0."
parrafo2 = "Asimismo, se compromete a devolver a esta Dirección dicho ordenador portátil en el momento en que deje de tener vinculación laboral con este centro o no sea profesor de algún curso integrado en el citado Proyecto Escuela 2.0."
parrafo3 = "Mérida, a ...... de ....................... de ......"
parrafo4 = "Firmado: ............................................."
else:
parrafo1 = "Yo <b>"+reg[0]+"</b> alumno/a de este centro perteneciente al curso/grupo .... , me comprometo a cuidar, custodiar y mantener en perfecto estado el ORDENADOR <b>"+reg[1]+" - "+reg[2]+"</b> número de serie: <b>"+reg[3]+"</b> Y ACCESORIOS, que me ha entregado el centro para su uso en las distintas áreas de conocimientos, con la supervisión de los profesores/as correspondientes siguiendo siempre las indicaciones e instrucciones para su correcto manejo."
parrafo2 = "El deteriodo intencionado, pérdida, robo o cualquier otra circunstancia que se produzca en el equipo será valorado por al Dirección/Jefatura del centro para tomar las medidas oportunas para su esclarecimiento y en su caso la reposición o arreglo por cuenta del alumno/a asignado/a, padres o tutores del mismo."
parrafo3 = "Mérida, a ...... de ....................... de ......"
parrafo4 = "Firma del alumno: .................................... Firma de los padres/tutores: ...................................."
if count%2==0:
pdf.add_page()
else:
pdf.write_html("<br><br><br><center><p>______________________________________________________________________________________</p></center><br><br>")
pdf.write_html("<center><h1>"+titulo.decode("utf8").encode("latin1")+"</h1></center><br>")
pdf.write_html("<p>"+parrafo1.decode("utf8").encode("latin1")+"</p><br>")
pdf.write_html("<p>"+parrafo2.decode("utf8").encode("latin1")+"</p>")
pdf.write_html("<br><br><center><p>"+parrafo3.decode("utf8").encode("latin1")+"</p></center>")
pdf.write_html("<br><br><br><br><center><p>"+parrafo4.decode("utf8").encode("latin1")+"</p></center>")
count+=1
# prepare PDF to download:
response.headers['Content-Type']='application/pdf'
doc=pdf.output(dest='S')
doc64=embed64(data=doc,extension='application/pdf')
return 'window.location="%s";' % doc64
def call():
"""

Exportar a: Unified diff