Beispiel #1
0
def retrieve_metrics_data_by_staff_id(cls, rqst_staff_id, list_of_ids, search_params, rqst_errors, fields=None):
    staff_instances = filter_db_queryset_by_id(picmodels.models.Navigators.objects.all(), rqst_staff_id, list_of_ids)

    response_list = create_metrics_response_list_from_filtered_staff_objects_and_secondary_params(staff_instances, search_params, fields)

    def check_response_data_for_requested_data():
        missing_parameter_list = []

        if not response_list:
            rqst_errors.append("No metrics entries found in database for given staff id(s).")

            if rqst_staff_id == 'all':
                missing_parameter_list = ['all']
            else:
                missing_parameter_list = list_of_ids
        else:
            if list_of_ids:
                for db_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (metrics_data_entry["Staff Information"]['id'] == db_id for metrics_data_entry in response_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append('Metrics for staff Member with id: {} not found in database'.format(db_id))
                        missing_parameter_list.append(db_id)

        return missing_parameter_list

    missing_primary_parameters = check_response_data_for_requested_data()

    return response_list, missing_primary_parameters
Beispiel #2
0
def retrieve_nav_hub_location_data_by_id(cls, validated_params,
                                         rqst_nav_hub_location_id, list_of_ids,
                                         rqst_errors):
    nav_hub_location_qset = prefetch_related_rows(cls.objects.all())
    nav_hub_location_qset = filter_db_objects_by_secondary_params(
        nav_hub_location_qset, validated_params)
    nav_hub_location_qset = filter_db_queryset_by_id(nav_hub_location_qset,
                                                     rqst_nav_hub_location_id,
                                                     list_of_ids)

    response_list = create_response_list_from_db_objects(nav_hub_location_qset)

    def check_response_data_for_requested_data():
        if not response_list:
            rqst_errors.append("No location entries found in database.")
        else:
            if list_of_ids:
                for db_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (
                        instance_data['Database ID'] == db_id
                        for instance_data in response_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append(
                            'Location entry with id: {} not found in database'.
                            format(db_id))

    check_response_data_for_requested_data()

    return response_list
Beispiel #3
0
def get_serialized_rows_by_id(cls, validated_params, rqst_errors):
    rqst_id = validated_params['id']
    if rqst_id != 'all':
        list_of_ids = validated_params['id_list']
    else:
        list_of_ids = None

    provider_network_qset = filter_db_queryset_by_id(cls.objects.all(),
                                                     rqst_id, list_of_ids)

    response_list = create_response_list_from_db_objects(provider_network_qset)

    def check_response_data_for_requested_data():
        if not response_list:
            rqst_errors.append(
                "No provider network instances in db for given ids.")
        else:
            if list_of_ids:
                for db_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (
                        instance_data['Database ID'] == db_id
                        for instance_data in response_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append(
                            'Provider network instance with id: {} not found in database.'
                            .format(db_id))

    check_response_data_for_requested_data()

    return response_list
Beispiel #4
0
def get_serialized_rows_by_id(cls, validated_params, rqst_errors):
    rqst_id = validated_params['id']
    if rqst_id != 'all':
        list_of_ids = validated_params['id_list']
    else:
        list_of_ids = None

    db_qset = prefetch_related_rows(cls.objects.all())
    db_qset = filter_db_queryset_by_id(db_qset, rqst_id, list_of_ids)

    response_list = create_response_list_from_db_objects(db_qset)

    def check_response_data_for_requested_data():
        if not response_list:
            rqst_errors.append("No rows found in database.")
        else:
            if list_of_ids:
                for db_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (
                        instance_data['id'] == db_id
                        for instance_data in response_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append(
                            'db row with id: {} not found in database'.format(
                                db_id))

    check_response_data_for_requested_data()

    return response_list
Beispiel #5
0
def retrieve_healthcare_subsidy_eligibility_data_by_id(
        cls, rqst_healthcare_subsidy_eligibility_data_id, list_of_ids,
        rqst_errors):
    healthcare_subsidy_eligibility_data_objs = filter_db_queryset_by_id(
        cls.objects.all(), rqst_healthcare_subsidy_eligibility_data_id,
        list_of_ids)

    response_list = create_response_list_from_db_objects(
        healthcare_subsidy_eligibility_data_objs)

    def check_response_data_for_requested_data():
        if not response_list:
            rqst_errors.append(
                "No healthcare subsidy eligibility data instances in db for given ids"
            )
        else:
            if list_of_ids:
                for healthcare_subsidy_eligibility_data_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (
                        instance_data['Database ID'] ==
                        healthcare_subsidy_eligibility_data_id
                        for instance_data in response_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append(
                            'Healthcare subsidy eligibility data instance with id: {} not found in database'
                            .format(healthcare_subsidy_eligibility_data_id))

    check_response_data_for_requested_data()

    return response_list
Beispiel #6
0
def get_serialized_rows_by_id(cls, validated_params, rqst_errors):
    rqst_id = validated_params['id']
    if rqst_id != 'all':
        list_of_ids = validated_params['id_list']
    else:
        list_of_ids = None

    filtered_qset = prefetch_related_rows(cls.objects.all())
    filtered_qset = filter_db_queryset_by_id(filtered_qset, rqst_id,
                                             list_of_ids)

    table_data_list = create_table_data_list_from_qset(filtered_qset)

    def check_response_data_for_requested_data():
        if not table_data_list:
            rqst_errors.append(
                "No rows in NavOrgsFromOnlineForm table were found for given ids"
            )
        else:
            if list_of_ids:
                for db_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (
                        instance_data['id'] == db_id
                        for instance_data in table_data_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append(
                            'No row in cNavOrgsFromOnlineForm table was found with id: {}'
                            .format(db_id))

    check_response_data_for_requested_data()

    return table_data_list
Beispiel #7
0
def retrieve_general_concerns_by_id(cls, rqst_general_concerns_id, list_of_ids,
                                    rqst_errors):
    general_concerns = filter_db_queryset_by_id(cls.objects.all(),
                                                rqst_general_concerns_id,
                                                list_of_ids)

    response_list = create_response_list_from_db_objects(general_concerns)

    def check_response_data_for_requested_data():
        if not response_list:
            rqst_errors.append(
                "No general concern instances in db for given ids")
        else:
            if list_of_ids:
                for db_id in list_of_ids:
                    tuple_of_bools_if_id_in_data = (
                        instance_data['Database ID'] == db_id
                        for instance_data in response_list)
                    if not any(tuple_of_bools_if_id_in_data):
                        rqst_errors.append(
                            'General concern instance with id: {} not found in database'
                            .format(db_id))

    check_response_data_for_requested_data()

    return response_list