def update_provider(provider=None): """ Update a given provider """ if request.method == 'PUT': body = request.get_json() code, resp = ProvidersController.update(provider, body) else: code, resp = ProvidersController.destroy(provider) return code, resp
def get_providers(): """ Get list of providers Filtering is possible through "filters" query string, JSON double encoded format """ if 'filters' in request.args: code, resp = ProvidersController.index(filters=request.args['filters']) else: code, resp = ProvidersController.index() return code, resp
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 __format_report_response(reports): """ Convert datetime object and add flat foreign key """ for rep in reports: for key, val in rep.iteritems(): if isinstance(val, datetime): rep[key] = time.mktime(val.timetuple()) # Flat foreign models if rep.get('defendant'): defendant = Defendant.objects.get(id=rep['defendant']) rep['defendant'] = model_to_dict(defendant) rep['defendant']['email'] = defendant.details.email if rep.get('plaintiff'): rep['plaintiff'] = model_to_dict(Plaintiff.objects.get(id=rep['plaintiff'])) if rep.get('service'): rep['service'] = model_to_dict(Service.objects.get(id=rep['service'])) if rep.get('provider'): rep['provider'] = ProvidersController.show(rep['provider'])[1] if rep.get('tags'): tags = Report.objects.get(id=rep['id']).tags.all() rep['tags'] = [model_to_dict(tag) for tag in tags]
def get_providers_priorities(): """ Get list of providers priorities """ return 200, ProvidersController.get_priorities()
def delete_provider_tag(provider=None, tag=None): """ Remove provider tag """ code, resp = ProvidersController.remove_tag(provider, tag) return code, resp
def add_provider_tag(provider=None): """ Add tag to provider """ body = request.get_json() code, resp = ProvidersController.add_tag(provider, body) return code, resp
def create_provider(): """ Create a new provider """ body = request.get_json() code, resp = ProvidersController.create(body) return code, resp