Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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]
Exemplo n.º 5
0
def get_providers_priorities():
    """ Get list of providers priorities
    """
    return 200, ProvidersController.get_priorities()
Exemplo n.º 6
0
def delete_provider_tag(provider=None, tag=None):
    """ Remove provider tag
    """
    code, resp = ProvidersController.remove_tag(provider, tag)
    return code, resp
Exemplo n.º 7
0
def add_provider_tag(provider=None):
    """ Add tag to provider
    """
    body = request.get_json()
    code, resp = ProvidersController.add_tag(provider, body)
    return code, resp
Exemplo n.º 8
0
def create_provider():
    """ Create a new provider
    """
    body = request.get_json()
    code, resp = ProvidersController.create(body)
    return code, resp