"list staffers pdf"
This commit is contained in:
parent
b443b4b908
commit
09a0557e4f
130
participate.py
130
participate.py
@ -1063,8 +1063,134 @@ def print_users():
|
|||||||
page = str(request.url_rule)
|
page = str(request.url_rule)
|
||||||
menu = get_menu(page)
|
menu = get_menu(page)
|
||||||
staffers = Tetawebapp_users.query.filter(Tetawebapp_users.is_admin==0, Tetawebapp_users.link_id==None).order_by(Tetawebapp_users.name).all()
|
staffers = Tetawebapp_users.query.filter(Tetawebapp_users.is_admin==0, Tetawebapp_users.link_id==None).order_by(Tetawebapp_users.name).all()
|
||||||
data = render_template('list_users_txt.html', staffers=staffers)
|
#~ data = render_template('list_users_txt.html', staffers=staffers)
|
||||||
return data
|
|
||||||
|
|
||||||
|
#~ data = [line for line in data.split('\n') if len(line) > 0]
|
||||||
|
#~ data = '\n'.join(data)
|
||||||
|
#~ data = [line for line in data.split('",\n') if len(line) > 0]
|
||||||
|
#~ data = '", '.join(data)
|
||||||
|
#~ ddata = [ast.literal_eval(line) for line in data.split('\n')]
|
||||||
|
pdf = cStringIO.StringIO()
|
||||||
|
doc = SimpleDocTemplate(pdf, pagesize=A4, rightMargin=3,leftMargin=3, topMargin=3,bottomMargin=3)
|
||||||
|
elements = []
|
||||||
|
styles = getSampleStyleSheet()
|
||||||
|
styles.add(ParagraphStyle(name='master_title',
|
||||||
|
alignment=TA_LEFT,
|
||||||
|
fontSize=20,
|
||||||
|
leading=25,
|
||||||
|
spaceBefore=10,
|
||||||
|
spaceAfter=10,
|
||||||
|
))
|
||||||
|
styles.add(ParagraphStyle(name='day_title',
|
||||||
|
alignment=TA_LEFT,
|
||||||
|
backColor=orange,
|
||||||
|
borderWidth=1,
|
||||||
|
borderColor=black,
|
||||||
|
borderPadding=5,
|
||||||
|
spaceBefore=10,
|
||||||
|
spaceAfter=10
|
||||||
|
))
|
||||||
|
styles.add(ParagraphStyle(name='role_title',
|
||||||
|
alignment=TA_LEFT,
|
||||||
|
backColor=lightsalmon,
|
||||||
|
borderWidth=1,
|
||||||
|
borderColor=black,
|
||||||
|
borderPadding=5,
|
||||||
|
spaceBefore=10,
|
||||||
|
spaceAfter=10
|
||||||
|
))
|
||||||
|
styles.add(ParagraphStyle(name='turn',
|
||||||
|
alignment=TA_LEFT,
|
||||||
|
backColor=white,
|
||||||
|
borderWidth=1,
|
||||||
|
borderColor=black,
|
||||||
|
borderPadding=5,
|
||||||
|
spaceBefore=10,
|
||||||
|
spaceAfter=0
|
||||||
|
))
|
||||||
|
styles.add(ParagraphStyle(name='basic_text',
|
||||||
|
alignment=TA_LEFT,
|
||||||
|
spaceBefore=5,
|
||||||
|
spaceAfter=5
|
||||||
|
))
|
||||||
|
styles.add(ParagraphStyle(name='row1',
|
||||||
|
alignment=TA_LEFT,
|
||||||
|
backColor=white,
|
||||||
|
spaceBefore=10,
|
||||||
|
spaceAfter=10
|
||||||
|
))
|
||||||
|
styles.add(ParagraphStyle(name='row2',
|
||||||
|
alignment=TA_CENTER,
|
||||||
|
backColor=white,
|
||||||
|
spaceBefore=10,
|
||||||
|
spaceAfter=10
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
for staffer in staffers:
|
||||||
|
rows = []
|
||||||
|
row = Paragraph(staffer[1], styles['row2']), staffer[2], styles['row2']), staffer[3], styles['row2']))
|
||||||
|
table = Table(rows, colWidths=cols_width, rowHeights=23)
|
||||||
|
rows.append(row)
|
||||||
|
table = Table(rows, colWidths=cols_width, rowHeights=23)
|
||||||
|
table.setStyle(TableStyle( [('GRID', (0,0), (-1,-1), 0.25, colors.black),
|
||||||
|
('ALIGN', (1,1), (-1,-1), 'RIGHT')]))
|
||||||
|
elements.append(table)
|
||||||
|
|
||||||
|
|
||||||
|
#~ wday = day[0]
|
||||||
|
#~ day_turns = day[1]
|
||||||
|
#~ cur_role = ''
|
||||||
|
#~ if wday not in ['Mardi', 'Mercredi']:
|
||||||
|
#~ elements.append(PageBreak())
|
||||||
|
#~ elements.append(Paragraph("<b>%s</b>" % wday, styles['day_title']))
|
||||||
|
#~ for turn in day_turns:
|
||||||
|
#~ rows = []
|
||||||
|
#~ role = turn[1]
|
||||||
|
#~ start_time = turn[0].start_time
|
||||||
|
#~ end_time = turn[0].end_time
|
||||||
|
#~ num_slot = turn[0].num_slot
|
||||||
|
#~ role_id = turn[0].role_id
|
||||||
|
#~ turn_id = turn[0].id
|
||||||
|
#~ if role != cur_role:
|
||||||
|
#~ cur_role = role
|
||||||
|
#~ elements.append(Paragraph("<b>%s</b>" % role, styles['role_title']))
|
||||||
|
#~ row = (Paragraph("<b>%s / %s</b>" % (start_time.strftime('%HH%M'), end_time.strftime('%HH%M')), styles['row1']),)
|
||||||
|
#~ for slot in range(0, num_slot):
|
||||||
|
#~ cols_width = [100] + [485/num_slot] * num_slot
|
||||||
|
#~ allocated_slot = []
|
||||||
|
#~ for sslot in staffs:
|
||||||
|
#~ if sslot[0].turn_id == turn_id and sslot[0].slot_num == slot:
|
||||||
|
#~ allocated_slot.append(sslot[0].slot_num)
|
||||||
|
#~ row += (Paragraph(sslot[1], styles['row2']),)
|
||||||
|
#~ if slot not in allocated_slot:
|
||||||
|
#~ row += (Paragraph(" ", styles['row2']),)
|
||||||
|
#~ rows.append(row)
|
||||||
|
#~ table = Table(rows, colWidths=cols_width, rowHeights=23)
|
||||||
|
#~ table.setStyle(TableStyle( [('GRID', (0,0), (-1,-1), 0.25, colors.black),
|
||||||
|
#~ ('ALIGN', (1,1), (-1,-1), 'RIGHT')]))
|
||||||
|
#~ elements.append(table)
|
||||||
|
styles.wordWrap = 'CJK'
|
||||||
|
doc.build(elements)
|
||||||
|
pdf_out = pdf.getvalue()
|
||||||
|
pdf.close()
|
||||||
|
response = app.make_response(pdf_out)
|
||||||
|
response.headers['Content-Disposition'] = "attachment; filename=feuille_staff_thsf.pdf"
|
||||||
|
response.mimetype = 'application/pdf'
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# User is not admin
|
# User is not admin
|
||||||
return render_template('login_or_register.html', message="Utilisateur ou mot de passe invalide")
|
return render_template('login_or_register.html', message="Utilisateur ou mot de passe invalide")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{% for staffer in staffers %}
|
{% for staffer in staffers %}
|
||||||
{{staffer.name}},{{staffer.phone}},{{staffer.mail}},{{staffer.diet}}"\n"
|
{{staffer.name}},{{staffer.phone}},{{staffer.mail}},{{staffer.diet}}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
Loading…
Reference in New Issue
Block a user