def report_furniture(request, *args, **kwargs): var = request.GET.get('pk') lab = kwargs.get('lab_pk') if var is None: furniture = Furniture.objects.filter(labroom__laboratory__pk=lab) else: furniture = Furniture.objects.filter(pk=var) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_furniture_objects(furniture), fileformat, file_name="Furniture.%s" % (fileformat, )) context = { 'verbose_name': "Organilab Summary Furniture Report", 'object_list': furniture, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } response = HttpResponse(content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="furniture_report.pdf"' template = get_template('pdf/summaryfurniture_pdf.html') html = template.render(context=context) pisaStatus = pisa.CreatePDF(html, dest=response, link_callback=link_callback, encoding='utf-8') if pisaStatus.err: return HttpResponse('We had some errors with code %s <pre>%s</pre>' % (pisaStatus.err, html)) return response
def report_labroom_building(request, *args, **kwargs): if 'lab_pk' in kwargs: rooms = get_object_or_404( Laboratory, pk=kwargs.get('lab_pk')).rooms.all() else: rooms = LaboratoryRoom.objects.all() fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_laboratory(rooms), fileformat, file_name="Laboratories.%s" % (fileformat,)) template = get_template('pdf/laboratoryroom_pdf.html') context = { 'object_list': rooms, 'datetime': timezone.now(), 'request': request, 'laboratory': kwargs.get('lab_pk') } html = template.render(context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_laboratory.pdf"' return response
def report_furniture(request, *args, **kwargs): var = request.GET.get('pk') lab = kwargs.get('lab_pk') if var is None: furniture = Furniture.objects.filter( labroom__laboratory__pk=lab) else: furniture = Furniture.objects.filter(pk=var) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_furniture_objects(furniture), fileformat, file_name="Furniture.%s" % (fileformat,)) template = get_template('pdf/summaryfurniture_pdf.html') context = { 'object_list': furniture, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render( context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="furniture_report.pdf"' return response
def report_furniture(request, *args, **kwargs): var = request.GET.get('pk') lab = kwargs.get('lab_pk') if var is None: furniture = Furniture.objects.filter(labroom__laboratory__pk=lab) else: furniture = Furniture.objects.filter(pk=var) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_furniture_objects(furniture), fileformat, file_name="Furniture.%s" % (fileformat, )) template = get_template('pdf/summaryfurniture_pdf.html') context = { 'object_list': furniture, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render(context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="furniture_report.pdf"' return response
def report_labroom_building(request, *args, **kwargs): if 'lab_pk' in kwargs: rooms = get_object_or_404(Laboratory, pk=kwargs.get('lab_pk')).rooms.all() else: rooms = LaboratoryRoom.objects.all() fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_laboratory(rooms), fileformat, file_name="Laboratories.%s" % (fileformat, )) template = get_template('pdf/laboratoryroom_pdf.html') context = { 'object_list': rooms, 'datetime': timezone.now(), 'request': request, 'laboratory': kwargs.get('lab_pk') } html = template.render(context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_laboratory.pdf"' return response
def report_incidentreport(request, *args, **kwargs): var = request.GET.get('pk', '') lab = kwargs.get('lab_pk') if var: incidentreport = IncidentReport.objects.filter(pk=var) else: incidentreport = IncidentReport.objects.filter(laboratories__in=[lab]) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_incidentreport(incidentreport), fileformat, file_name="incident.%s" % (fileformat,)) template = get_template('risk_management/incidentreport_pdf.html') context = { 'object_list': incidentreport, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render( context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="incident_report.pdf"' return response
def report_objects(request, *args, **kwargs): var = request.GET.get('pk') type_id = None if var is None: if 'lab_pk' in kwargs: filters = Q( shelfobject__shelf__furniture__labroom__laboratory__pk=kwargs. get('lab_pk')) if 'type_id' in request.GET: type_id = request.GET.get('type_id', '') if type_id: filters = filters & Q(type=type_id) if 'lab_pk' in kwargs and 'type_id' in request.GET: objects = Object.objects.filter(filters) else: objects = Object.objects.all() else: objects = Object.objects.filter(pk=var) try: detail = bool(int(request.GET.get('details', 0))) except: detail = False fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_objects(objects, summary=detail, type_id=type_id), fileformat, file_name="objects.%s" % (fileformat, )) for obj in objects: clentry = CLInventory.objects.filter( cas_id_number=obj.cas_id_number).first() setattr(obj, 'clinventory_entry', clentry) template = get_template('pdf/object_pdf.html') context = { 'object_list': objects, 'datetime': timezone.now(), 'request': request, 'laboratory': kwargs.get('lab_pk') } html = template.render(context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_objects.pdf"' return response
def report_objects(request, *args, **kwargs): var = request.GET.get('pk') type_id = None if var is None: if 'lab_pk' in kwargs: filters = Q( shelfobject__shelf__furniture__labroom__laboratory__pk=kwargs.get('lab_pk')) if 'type_id' in request.GET: type_id = request.GET.get('type_id', '') if type_id: filters = filters & Q(type=type_id) if 'lab_pk' in kwargs and 'type_id' in request.GET: objects = Object.objects.filter(filters) else: objects = Object.objects.all() else: objects = Object.objects.filter(pk=var) try: detail = bool(int(request.GET.get('details', 0))) except: detail = False fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_objects(objects, summary=detail, type_id=type_id), fileformat, file_name="objects.%s" % (fileformat,)) for obj in objects: clentry = CLInventory.objects.filter( cas_id_number=obj.cas_id_number).first() setattr(obj, 'clinventory_entry', clentry) template = get_template('pdf/object_pdf.html') context = { 'object_list': objects, 'datetime': timezone.now(), 'request': request, 'laboratory': kwargs.get('lab_pk') } html = template.render( context=context).encode("UTF-8") page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_objects.pdf"' return response
def report_reactive_precursor_objects(request, *args, **kwargs): template = get_template('pdf/reactive_precursor_objects_pdf.html') lab = kwargs.get('lab_pk') try: all_labs = int(request.GET.get('all_labs', '0')) except: all_labs = 0 if lab and not all_labs: rpo = Object.objects.filter( shelfobject__shelf__furniture__labroom__laboratory__pk=lab) else: rpo = Object.objects.all() rpo = rpo.filter(type=Object.REACTIVE, sustancecharacteristics__is_precursor=True) for obj in rpo: clentry = CLInventory.objects.filter( cas_id_number=get_cas(obj, 0)).first() setattr(obj, 'clinventory_entry', clentry) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_objects(rpo, summary=True, type_id='0'), fileformat, file_name="reactive_precursor.%s" % (fileformat, )) context = { 'verbose_name': "Reactive precursor objects", 'rpo': rpo, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render(context=context) response = HttpResponse(content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_reactive_precursor_objects.pdf"' pisaStatus = pisa.CreatePDF(html, dest=response, link_callback=link_callback, encoding='utf-8') if pisaStatus.err: return HttpResponse('We had some errors with code %s <pre>%s</pre>' % (pisaStatus.err, html)) return response
def report_reactive_precursor_objects(request, *args, **kwargs): template = get_template('pdf/reactive_precursor_objects_pdf.html') lab = kwargs.get('lab_pk') try: all_labs = int(request.GET.get('all_labs', '0')) except: all_labs = 0 if lab and not all_labs: rpo = Object.objects.filter( shelfobject__shelf__furniture__labroom__laboratory__pk=lab) else: rpo = Object.objects.all() rpo = rpo.filter(type=Object.REACTIVE, is_precursor=True) for obj in rpo: clentry = CLInventory.objects.filter( cas_id_number=obj.cas_id_number).first() setattr(obj, 'clinventory_entry', clentry) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_objects(rpo, summary=True, type_id='0'), fileformat, file_name="reactive_precursor.%s" % (fileformat, )) context = { 'rpo': rpo, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render(context=context).encode('UTF-8') page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_reactive_precursor_objects.pdf"' return response
def report_reactive_precursor_objects(request, *args, **kwargs): template = get_template('pdf/reactive_precursor_objects_pdf.html') lab = kwargs.get('lab_pk') try: all_labs = int(request.GET.get('all_labs', '0')) except: all_labs = 0 if lab and not all_labs: rpo = Object.objects.filter( shelfobject__shelf__furniture__labroom__laboratory__pk=lab) else: rpo = Object.objects.all() rpo = rpo.filter(type=Object.REACTIVE, is_precursor=True) for obj in rpo: clentry = CLInventory.objects.filter( cas_id_number=obj.cas_id_number).first() setattr(obj, 'clinventory_entry', clentry) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_objects(rpo, summary=True, type_id='0'), fileformat, file_name="reactive_precursor.%s" % (fileformat,)) context = { 'rpo': rpo, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render(context=context).encode('UTF-8') page = HTML(string=html, encoding='utf-8').write_pdf() response = HttpResponse(page, content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_reactive_precursor_objects.pdf"' return response
def report_labroom_building(request, *args, **kwargs): if 'lab_pk' in kwargs: rooms = get_object_or_404(Laboratory, pk=kwargs.get('lab_pk')).rooms.all() else: rooms = LaboratoryRoom.objects.all() fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_laboratory(rooms), fileformat, file_name="Laboratories.%s" % (fileformat, )) context = { #set your report title in verbose_name 'verbose_name': "Organilab Laboratory Report", 'object_list': rooms, 'datetime': timezone.now(), 'request': request, 'laboratory': kwargs.get('lab_pk'), } response = HttpResponse(content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="report_laboratory.pdf"' template = get_template('pdf/laboratoryroom_pdf.html') #added explicit context html = template.render(context=context) pisaStatus = pisa.CreatePDF(html, dest=response, link_callback=link_callback, encoding='utf-8') if pisaStatus.err: return HttpResponse('We had some errors with code %s <pre>%s</pre>' % (pisaStatus.err, html)) return response
def report_incidentreport(request, *args, **kwargs): var = request.GET.get('pk', '') lab = kwargs.get('lab_pk') if var: incidentreport = IncidentReport.objects.filter(pk=var) else: incidentreport = IncidentReport.objects.filter(laboratories__in=[lab]) fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_incidentreport(incidentreport), fileformat, file_name="incident.%s" % (fileformat, )) template = get_template('risk_management/incidentreport_pdf.html') context = { 'verbose_name': "Incident report", 'object_list': incidentreport, 'datetime': timezone.now(), 'request': request, 'laboratory': lab } html = template.render(context=context) response = HttpResponse(content_type='application/pdf') response[ 'Content-Disposition'] = 'attachment; filename="incident_report.pdf"' pisaStatus = pisa.CreatePDF(html, dest=response, link_callback=link_callback, encoding='utf-8') if pisaStatus.err: return HttpResponse('We had some errors with code %s <pre>%s</pre>' % (pisaStatus.err, html)) return response
def report_objects(request, *args, **kwargs): var = request.GET.get('pk') type_id = None if var is None: if 'lab_pk' in kwargs: filters = Q( shelfobject__shelf__furniture__labroom__laboratory__pk=kwargs. get('lab_pk')) if 'type_id' in request.GET: type_id = request.GET.get('type_id', '') if type_id: filters = filters & Q(type=type_id) if 'lab_pk' in kwargs and 'type_id' in request.GET: objects = Object.objects.filter(filters) else: objects = Object.objects.all() else: objects = Object.objects.filter(pk=var) try: detail = bool(int(request.GET.get('details', 0))) except: detail = False fileformat = request.GET.get('format', 'pdf') if fileformat in ['xls', 'xlsx', 'ods']: return django_excel.make_response_from_book_dict( make_book_objects(objects, summary=detail, type_id=type_id), fileformat, file_name="objects.%s" % (fileformat, )) for obj in objects: clentry = CLInventory.objects.filter( cas_id_number=get_cas(obj, 0)).first() setattr(obj, 'clinventory_entry', clentry) template = get_template('pdf/object_pdf.html') verbose_name = 'Reactives report' if type_id == "1": verbose_name = 'Materials report' if type_id == "2": verbose_name = 'Equipments report' context = { 'verbose_name': verbose_name, 'object_list': objects, 'datetime': timezone.now(), 'request': request, 'laboratory': kwargs.get('lab_pk') } response = HttpResponse(content_type='application/pdf') html = template.render(context=context) response[ 'Content-Disposition'] = 'attachment; filename="report_objects.pdf"' pisaStatus = pisa.CreatePDF(html, dest=response, link_callback=link_callback, encoding='utf-8') if pisaStatus.err: return HttpResponse('We had some errors with code %s <pre>%s</pre>' % (pisaStatus.err, html)) return response