def show(report_id): """ Get report """ try: report = Report.objects.filter(id=report_id).values(*REPORT_FIELDS)[0] except (IndexError, ValueError): return 404, {'status': 'Not Found', 'code': 404} # Convert date for key, val in report.iteritems(): if isinstance(val, datetime): report[key] = time.mktime(val.timetuple()) # Add related infos if report.get('plaintiff'): report['plaintiff'] = model_to_dict(Plaintiff.objects.get(id=report['plaintiff'])) if report.get('service'): report['service'] = model_to_dict(Service.objects.get(id=report['service'])) if report.get('defendant'): report['defendant'] = DefendantsController.show(report['defendant'])[1] if report.get('provider'): report['provider'] = ProvidersController.show(report['provider'])[1] tags = Report.objects.get(id=report['id']).tags.all() report['tags'] = [model_to_dict(tag) for tag in tags] return 200, report
def get_defendant(defendant=None): """ Get a defendant """ code, resp = DefendantsController.show(defendant) return code, resp