Beispiel #1
0
def parse_municipalities_from_submissions():
    submissions = Submission.all()
    for submission in submissions:
        try:
            with transaction.manager:
                clinic_code = submission.raw_data[constants.CLINIC_IDENTIFIER]
                clinic = Clinic.get(Clinic.code == clinic_code)

                state_name = submission.raw_data[constants.STATE_IDENTIFIER]

                municipality_name = submission.raw_data[
                    constants.MUNICIPALITY_IDENTIFIER]

                state_params = {'name': state_name}
                state = State.get_or_create(State.name == state_name,
                                            **state_params)

                municipality_params = {'name': municipality_name}
                municipality = Municipality.get_or_create(
                    Municipality.name == municipality_name,
                    **municipality_params)

                municipality.state = state

                if clinic.municipality is None:
                    clinic.municipality = municipality
                    DBSession.add_all([municipality, clinic])

        except (NoResultFound, KeyError):
            pass
Beispiel #2
0
def setup_clinics():
    # add a couple of clinics
    state_params = {'name': "Acre"}
    state = State.get_or_create(
        State.name == state_params['name'],
        **state_params)

    municipality_params = {'name': 'Brasilia',
                           'parent': state}

    municipality = Municipality.get_or_create(
        Municipality.name == municipality_params['name'],
        **municipality_params)

    clinic_criteria = Clinic.name == "Clinic A"
    clinic_params = {
        "name": "Clinic A",
        "code": "1A2B",
        "municipality": municipality}
    clinic_a = Clinic.get_or_create(
        clinic_criteria,
        **clinic_params)
    clinic_a.save()

    clinic_params = {
        "name": "Clinic b",
        "code": "1B2C",
        "municipality": municipality}
    clinic_b = Clinic.get_or_create(
        clinic_criteria,
        **clinic_params)
    clinic_b.save()

    user = OnaUser.get(OnaUser.username == 'admin').user
    clinic_a.assign_to(user)
    clinic_b.assign_to(user)