Business hub staff facing site for Prisoner Money suite of apps.
It’s recommended that you use a python virtual environment to isolate each application.
The simplest way to do this is using:
python3 -m venv venv # creates a virtual environment for dependencies; only needed the first time
. venv/bin/activate # activates the virtual environment; needed every time you use this app
Some build tasks expect the active virtual environment to be at /venv/
, but should generally work regardless of
its location.
You can copy mtp_cashbook/settings/local.py.sample
to local.py
to overlay local settings that won’t be committed,
but it’s not required for a standard setup.
In order to run the application locally, it is necessary to have the API running. Please refer to the money-to-prisoners-api repository.
Once the API has started locally, run
./run.py serve
# or
./run.py start
This will build everything and run the local server at http://localhost:8001/. The former also starts browser-sync at http://localhost:3001/.
You should be able to login using following credentials: test-prison-1
or test-prison-2
All build/development actions can be listed with ./run.py --verbosity 2 help
.
In order to run a server that’s exactly similar to the production machines, you need to have Docker installed. Run
./run.py local_docker
and you should be able to connect to the local server.
With the ./run.py
command, you can run a browser-sync server, and get the assets
to automatically recompile when changes are made, run ./run.py serve
instead of
./run.py start
. The server is then available at the URL indicated.
./run.py test
Runs all the application tests.
You can connect a local version of money-to-prisoners-common for development by pre-pending the following task to the run script.
python_dependencies --common-path [path]
Update translation files with ./run.py make_messages
– you need to do this every time any translatable text is updated.
Requires transifex cli tool for synchronisation:
Pull updates from Transifex with ./run.py translations --pull
.
You’ll need to update translation files afterwards and manually check that the merges occurred correctly.
Push latest English to Transifex with ./run.py translations --push
.
NB: you should pull updates before pushing to merge correctly.
This is handled by money-to-prisoners-deploy.
There are several dependencies of the money-to-prisoners-cashbook
python library which are maintained by this team, so they may require code-changes when the dependencies (e.g. Django) of the money-to-prisoners-cashbook
python library are incremented.
- django-zendesk-tickets: https://github.com/ministryofjustice/django-zendesk-tickets
- django-moj-irat: https://github.com/ministryofjustice/django-moj-irat