/openimis-be-controls_py

OpenIMIS Controls Module

Primary LanguagePythonOtherNOASSERTION

openIMIS Backend controls reference module

This repository holds the files of the OpenIMIS Backend Controls reference module. It is dedicated to be deployed as a module of openimis-be_py.

License: AGPL v3

Requirements

pip install -r requirements.txt

For development, you also need to run the following:

pip install -r requirements-dev.txt

Installation

pip install -e .

with the development requirements

pip install -e .[dev]

Tests

The tests can be run either with a standard pytest test harness or with the one of the core module. In the first case, it's isolated and doesn't require anything else that the present repo:

pytest

In the second one, you need to download the core project (and prepare the test database), install the controls module in it pip install -e <path to the controls module>, then you can run the tests:

python manage.py test --keep controls

ORM mapping

Database table name Django Model
tblControls Control

Listened Django Signals

None

Services

None

Reports (template can be overloaded via report.ReportDefinition)

None

GraphQL Queries

  • control
  • control_str: full text search on Control name, usage, and adjustability

An example:

{
  control{
    edges{
      node{
        name
      }
    }
  }
}

GraphQL Mutations - each mutation emits default signals and return standard error lists (cfr. openimis-be-core_py)

None

Configuration options (can be changed via core.ModuleConfiguration)

None

openIMIS Modules Dependencies

None