Skip to content

Workflow, visualizations and data services for managing NGO projects and programs

Notifications You must be signed in to change notification settings

toladata/TolaActivity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tola Activity Build Status Coverage Status

TolaActivity extends the functionality of TolaData to include a set of forms and reports for managing project activities for a WorkflowLevel1. It includes workflow for approving and completing projects as well as sharing the output data.

TolaActivity functionality http://www.github.com/toladata/TolaActivity is intended to allow importing and exporting of project specific data from 3rd party data sources or excel files.

Configuration

Location of settings:

  • Development: tola/settings/dev.py
  • Test runner: tola/settings/test.py and tola/settings/test_pkg.py
  • Staging/Production: tola/settings/local.py

Check the documentation on setting up search functionality in search/Readme.md

Deploy locally via Docker

Build first the images:

docker-compose -f docker-compose-dev.yml build

To run the webserver (go to 127.0.0.1:8080):

docker-compose -f docker-compose-dev.yml up # -d for detached

User: admin Password: admin.

To run the tests:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web python manage.py test # --keepdb to run second time faster

To run the package building tests, follow these steps:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web bash
# Now inside the container
pip freeze | grep -v "^-e" | xargs pip uninstall -y; pip uninstall -y social_auth_core; cat requirements/base.txt | grep "^Django==\|^psycopg2" | xargs pip install; pip install -r requirements/pkg.txt
python manage.py test --tag=pkg --keepdb

To run the webserver with pdb support:

docker-compose -f docker-compose-dev.yml run --rm --service-ports web

To run bash:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web bash

or if you initialized already a container:

docker exec -it web bash

To connect to the database when the container is running:

docker exec -it postgres psql -U root tola_activity

If the database is empty, you may want to populate extra demo data to play around with Activity:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web python manage.py loadinitialdata  --demo

(Be careful using this, only on demo!) If the database is already populated and you want to restore the default data:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web python manage.py loadinitialdata  --restore

Issue with the local environment

If you're getting an error in your local environment, it can be related to the social-core library. To solve this issue you need to execute the following step:

  • With the container running, go into it with this command:

    docker exec -it web bash

  • Install the social-core lib again:

    pip install -e git://github.com/toladata/social-core#egg=social-core

  • Now, restart the container.

It should solve the problem!

Deploy locally using virtualenv

Given pip is installed:

pip install virtualenv

Create the environment:

virtualenv —no-site-packages venv

Note: use no site packages to prevent virtualenv from seeing your global packages.

Activate the environment:

. venv/bin/activate

or:

source venv/bin/activate

Install requirements:

pip install -r requirements/dev.txt

Set up database:

python manage.py migrate

Run the server:

python manage.py runserver 0.0.0.0:8000

Creating PRs and Issues

The following templates were created to easy the way to create tickets and help the developer.

  • Bugs and Issues [+]
  • New features [+]
  • Pull requests [+]