Skip to content

Commit

Permalink
All refactored code
Browse files Browse the repository at this point in the history
  • Loading branch information
mugaya committed Mar 26, 2022
1 parent b60aaca commit 4dd357e
Show file tree
Hide file tree
Showing 1,341 changed files with 484,620 additions and 483,644 deletions.
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,35 @@
# CPIMS OVC Upgrade

Code base for CPIMS OVC business process upgrade from python 2.7 / Django 1.8 to Python 3.10 / Django 4.0.2

# install python 3.10 https://www.python.org/getit/
## Installation
// clone the repository to your local machine
git clone https://github.com/uonafya/cpims-ovc-3.0

# install virtualenv windows
pip install virtualenv

# create virtualenv
virtualenv venv

# activate virtualenv
venv\Scripts\activate

# install requirements
pip install -r requirements.txt

# Install postgres https://www.postgresql.org/
# open psql(shell)
create database cpims;
create user username with password 'userpassword';
grant all privileges on database cpims to username;

# Edit cpims/settings.py with credentials created above

py manage.py makemigrations
py manage.pt migrate
py manage.py check

# runserver
py manage.py runserver
68 changes: 48 additions & 20 deletions cpims/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,59 +10,76 @@

SECRET_KEY = 'h34yo5l8c8!edb%^b@3j-i^gc$e)fcjnw_9jm4a^%jbq&*41+@'

FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'


ALLOWED_HOSTS = ['*']

cpims_db_host = os.environ.get('CPIMS_HOST') if os.environ.get('CPIMS_HOST') else ''
cpims_db_pass = os.environ.get('CPIMS_PASSWORD') if os.environ.get('CPIMS_PASSWORD') else ''
cpims_db_instance = os.environ.get('CPIMS_DB') if os.environ.get('CPIMS_DB') else ''
cpims_db_port = os.environ.get('CPIMS_PORT') if os.environ.get('CPIMS_PORT') else ''
cpims_db_user = os.environ.get('CPIMS_DBUSER') if os.environ.get('CPIMS_DBUSER') else ''
cpims_db_host = os.environ.get('CPIMS_HOST') if os.environ.get('CPIMS_HOST') else '127.0.0.1'
cpims_db_pass = os.environ.get('CPIMS_PASSWORD') if os.environ.get('CPIMS_PASSWORD') else 'Xaen!ee8'
cpims_db_instance = os.environ.get('CPIMS_DB') if os.environ.get('CPIMS_DB') else 'cpims_ovc'
cpims_db_port = os.environ.get('CPIMS_PORT') if os.environ.get('CPIMS_PORT') else '5432'
cpims_db_user = os.environ.get('CPIMS_DBUSER') if os.environ.get('CPIMS_DBUSER') else 'cpimsdbuser'
cpims_debug = eval(os.environ.get('CPIMS_DEBUG')) if os.environ.get('CPIMS_DEBUG') else False

DEBUG = cpims_debug

INSTALLED_APPS = (
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.auth',
'django.contrib.messages',
'django.contrib.staticfiles',
'cpovc_main',
'cpovc_auth',
'cpovc_registry',
'cpovc_main',
'cpovc_forms',
'cpovc_gis',
#'cpovc_access',
'cpovc_access',
'cpovc_settings',
'crispy_forms',
'cpovc_ovc',
'import_export',
'rest_framework',
'data_cleanup',
'cpovc_offline_mode',
# forums,
# 'adminsortable',
# 'simple_forums',
'cpovc_manage',
'notifications',
'cpovc_help'
)
'cpovc_help',
]

MIDDLEWARE_CLASSES = (
# MIDDLEWARE = (
# 'django.contrib.sessions.middleware.SessionMiddleware',
# 'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
# 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
# # 'cpovc_access.middleware.AuthenticationPolicyMiddleware',
# 'django.contrib.messages.middleware.MessageMiddleware',
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
# 'django.middleware.security.SecurityMiddleware',
# #'cpovc_main.middleware.SqlPrintingMiddleware',
# 'cpovc_auth.middleware.UserRestrictMiddleware',
# # 'cpovc_access.middleware.FailedLoginMiddleware',
# )

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'cpovc_access.middleware.AuthenticationPolicyMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
#'cpovc_main.middleware.SqlPrintingMiddleware',
'cpovc_auth.middleware.UserRestrictMiddleware',
'cpovc_access.middleware.FailedLoginMiddleware',
)
# 'cpovc_access.middleware.AuthenticationPolicyMiddleware',
# 'cpovc_auth.middleware.UserRestrictMiddleware',
# 'cpovc_access.middleware.FailedLoginMiddleware',

]

ROOT_URLCONF = 'cpims.urls'

Expand All @@ -87,6 +104,14 @@

WSGI_APPLICATION = 'cpims.wsgi.application'


# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
Expand Down Expand Up @@ -124,7 +149,10 @@

AUTH_USER_MODEL = 'cpovc_auth.AppUser'

AUTHENTICATION_BACKENDS = ('cpovc_auth.backends.CPOVCAuthenticationBackend',)
# AUTHENTICATION_BACKENDS = ['cpovc_auth.backends.CPOVCAuthenticationBackend']
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']

DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'

ALLOW_NATIONAL_ID_LOGIN = True

Expand Down
146 changes: 77 additions & 69 deletions cpims/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,106 +6,114 @@
"""
import logging

from django.conf.urls import include, url
import cpovc_access
import cpovc_auth
import cpovc_dashboard
from . import views
from django.urls import include, path, re_path
from django.contrib import admin
from cpovc_auth import urls as auth_urls
from cpovc_registry import urls as registry_urls
from cpovc_forms import urls as forms_urls
from cpovc_reports import urls as reports_urls
from cpovc_gis import urls as gis_urls
from cpovc_api import urls as api_urls
# from cpovc_api import urls as api_urls
from cpovc_ovc import urls as ovc_urls
from cpovc_settings import urls as settings_urls
from data_cleanup import urls as data_cleanup_urls
from cpovc_offline_mode import urls as offline_mode_urls
from django.contrib.auth.views import (
password_reset_done, password_change, password_change_done)
# from django.contrib.auth.views import (
# password_reset_done, password_change, password_change_done)
from django.contrib.auth import views as auth_views
from cpovc_auth.views import password_reset
from django.views.generic import TemplateView
from cpovc_dashboard import urls as dashboard_api_urls
from cpovc_access.forms import StrictPasswordChangeForm


urlpatterns = [
url(r'^admin/', include(admin.site.urls), name='admin'),
# url(r'^$', 'cpovc_auth.views.log_in', name='home'),
url(r'^public_dashboard/registration/', 'cpims.views.public_dashboard_reg', name='public_dashboard_reg'),
url(r'^public_dashboard/hivstat/', 'cpims.views.public_dashboard_hivstat', name='public_dashboard_hivstat'),
url(r'^public_dashboard/served/', 'cpims.views.public_dashboard_served', name='public_dashboard_served'),
url(r'^public_dash/', 'cpims.views.public_dash', name='public_dash'),
url(r'^public_dashboard/', 'cpims.views.public_dashboard_reg', name='public_dashboard_reg'),
path('admin/', admin.site.urls), # Keep
# path('admin/', include(admin.site.urls), name='admin'),
# re_path(r'^$', cpovc_auth.views.log_in, name='home'),
path('public_dashboard/registration/', views.public_dashboard_reg, name='public_dashboard_reg'),
path('public_dashboard/hivstat/', views.public_dashboard_hivstat, name='public_dashboard_hivstat'),
path('public_dashboard/served/', views.public_dashboard_served, name='public_dashboard_served'),
path('public_dash/', views.public_dash, name='public_dash'),
path('public_dashboard/', views.public_dashboard_reg, name='public_dashboard_reg'),
# APIs
url(r'^get_locality_data/', 'cpims.views.get_locality_data', name='get_locality_data'),
url(r'^hiv_stats_pub_data/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_pub_data', name='get_pub_data'),
url(r'^hiv_stats_ovc_active/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_ovc_active_hiv_status', name='ovc_active_hiv_status'),
url(r'^get_hiv_suppression_data/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_hiv_suppression_data', name='get_hiv_suppression_data'),
# ####
url(r'^get_total_ovc_ever/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_total_ovc_ever', name='get_total_ovc_ever'),
url(r'^get_total_ovc_ever_exited/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_total_ovc_ever_exited', name='get_total_ovc_ever_exited'),
url(r'^get_total_wout_bcert_at_enrol/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_total_wout_bcert_at_enrol', name='get_total_wout_bcert_at_enrol'),
url(r'^get_total_w_bcert_2date/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_total_w_bcert_2date', name='get_total_w_bcert_2date'),
url(r'^get_total_s_bcert_aft_enrol/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_total_s_bcert_aft_enrol', name='get_total_s_bcert_aft_enrol'),
url(r'^fetch_cbo_list/', 'cpims.views.fetch_cbo_list', name='fetch_cbo_list'),
url(r'^get_ever_tested_hiv/(?P<org_level>\w+)/(?P<area_id>.*)/', 'cpims.views.get_ever_tested_hiv', name='get_ever_tested_hiv'),

url(r'^get_new_ovcregs_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', 'cpims.views.get_new_ovcregs_by_period', name='get_new_ovcregs_by_period'),

url(r'^get_active_ovcs_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', 'cpims.views.get_active_ovcs_by_period', name='get_active_ovcs_by_period'),

url(r'^get_exited_ovcs_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', 'cpims.views.get_exited_ovcs_by_period', name='get_exited_ovcs_by_period'),

url(r'^get_exited_hsehlds_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', 'cpims.views.get_exited_hsehlds_by_period', name='get_exited_hsehlds_by_period'),
path('get_locality_data/', views.get_locality_data, name='get_locality_data'),
re_path(r'^hiv_stats_pub_data/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_pub_data, name='get_pub_data'),
re_path(r'^hiv_stats_ovc_active/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_ovc_active_hiv_status, name='ovc_active_hiv_status'),
re_path(r'^get_hiv_suppression_data/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_hiv_suppression_data, name='get_hiv_suppression_data'),
# # ####
re_path(r'^get_total_ovc_ever/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_total_ovc_ever, name='get_total_ovc_ever'),
re_path(r'^get_total_ovc_ever_exited/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_total_ovc_ever_exited, name='get_total_ovc_ever_exited'),
re_path(r'^get_total_wout_bcert_at_enrol/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_total_wout_bcert_at_enrol, name='get_total_wout_bcert_at_enrol'),
re_path(r'^get_total_w_bcert_2date/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_total_w_bcert_2date, name='get_total_w_bcert_2date'),
re_path(r'^get_total_s_bcert_aft_enrol/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_total_s_bcert_aft_enrol, name='get_total_s_bcert_aft_enrol'),
path('fetch_cbo_list/', views.fetch_cbo_list, name='fetch_cbo_list'),
re_path(r'^get_ever_tested_hiv/(?P<org_level>\w+)/(?P<area_id>.*)/', views.get_ever_tested_hiv, name='get_ever_tested_hiv'),
#
re_path(r'^get_new_ovcregs_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', views.get_new_ovcregs_by_period, name='get_new_ovcregs_by_period'),
#
re_path(r'^get_active_ovcs_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', views.get_active_ovcs_by_period, name='get_active_ovcs_by_period'),
#
re_path(r'^get_exited_ovcs_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', views.get_exited_ovcs_by_period, name='get_exited_ovcs_by_period'),
#
re_path(r'^get_exited_hsehlds_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', views.get_exited_hsehlds_by_period, name='get_exited_hsehlds_by_period'),

url(r'^get_served_bcert_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<month_year>.*)/', 'cpims.views.get_served_bcert_by_period', name='get_served_bcert_by_period'),
url(r'^get_u5_served_bcert_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<month_year>.*)/', 'cpims.views.get_u5_served_bcert_by_period', name='get_u5_served_bcert_by_period'),
url(r'^get_ovc_served_stats/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', 'cpims.views.get_ovc_served_stats', name='get_ovc_served_stats'),
re_path(r'^get_served_bcert_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<month_year>.*)/', views.get_served_bcert_by_period, name='get_served_bcert_by_period'),
re_path(r'^get_u5_served_bcert_by_period/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<month_year>.*)/', views.get_u5_served_bcert_by_period, name='get_u5_served_bcert_by_period'),
re_path(r'^get_ovc_served_stats/(?P<org_level>\w+)/(?P<area_id>.*)/(?P<funding_partner>.*)/(?P<funding_part_id>.*)/(?P<period_type>.*)/', views.get_ovc_served_stats, name='get_ovc_served_stats'),
# endAPIs
url(r'^$', 'cpims.views.home', name='home'),
# url(r'^home/$', 'cpims.views.home', name='home'),
url(r'^accounts/request/$', 'cpims.views.access', name='access'),
url(r'^accounts/terms/(?P<id>\d+)/$', 'cpovc_access.views.terms',
# path('home/', views.home, name='home'),
re_path(r'^$', views.home, name='home'),
# url(r'^home/$', views.home, name='home'),
path('accounts/request/', views.access, name='access'),
path('accounts/terms/<int:id>/', cpovc_access.views.terms,
name='terms'),
url(r'^login/$', 'cpovc_auth.views.log_in', name='login'),
url(r'^logout/$', 'cpovc_auth.views.log_out', name='logout'),
url(r'^register/$', 'cpovc_auth.views.register', name='register'),
url(r'^auth/', include(auth_urls)),
url(r'^registry/', include(registry_urls)),
url(r'^forms/', include(forms_urls)),
url(r'^reports/', include(reports_urls)),
url(r'^gis/', include(gis_urls)),
url(r'^api/', include(api_urls)),
url(r'^ovcare/', include(ovc_urls)),
url(r'^settings/', include(settings_urls)),
url(r'^data_cleanup/', include(data_cleanup_urls)),
url(r'^accounts/login/$', 'cpovc_auth.views.log_in', name='login'),
url(r'^accounts/password/reset/$', password_reset,
path('login/', cpovc_auth.views.log_in, name='login'),
path('logout/', cpovc_auth.views.log_out, name='logout'),
path('register/', cpovc_auth.views.register, name='register'),
path('auth/', include(auth_urls)),
path('registry/', include(registry_urls)),
path('forms/', include(forms_urls)),
path('reports/', include(reports_urls)),
path('gis/', include(gis_urls)),
# path('api/', include(api_urls)),
path('ovcare/', include(ovc_urls)),
path('settings/', include(settings_urls)),
path('data_cleanup/', include(data_cleanup_urls)),
path('accounts/login/', cpovc_auth.views.log_in, name='acclogin'),
path('accounts/password/reset/', password_reset,
{'template_name': 'registration/password_reset.html'},
name='password_reset'),
url(r'^accounts/password/reset/done/$', password_reset_done,
{'template_name': 'registration/password_reset_done.html'},
name='password_reset_done'),
url(r'^accounts/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
'cpovc_auth.views.reset_confirm', name='password_reset_confirm'),
url(r'^reset/$', 'cpovc_auth.views.reset', name='reset'),
url(r'^accounts/password/change/$', password_change,
# path('accounts/password/reset/done/', password_reset_done,
# {'template_name': 'registration/password_reset_done.html'},
# name='password_reset_done'),
re_path(r'^accounts/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
cpovc_auth.views.reset_confirm, name='password_reset_confirm'),
path('reset/', cpovc_auth.views.reset, name='reset'),
path('accounts/password/change/', auth_views.PasswordChangeView.as_view(),
{'post_change_redirect': '/accounts/password/change/done/',
'template_name': 'registration/password_change.html',
'password_change_form': StrictPasswordChangeForm},
name='password_change'),
url(r'^accounts/password/change/done/$', password_change_done,
path('accounts/password/change/done/', auth_views.PasswordResetDoneView.as_view(),
{'template_name': 'registration/password_change_done.html'}),
url(r'^F57665A859FE7CFCDB6C8935196374AD\.txt$',
re_path(r'^F57665A859FE7CFCDB6C8935196374AD\.txt$',
TemplateView.as_view(template_name='comodo.txt',
content_type='text/plain')),
url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt',
re_path(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt',
content_type='text/plain')),

url(r'^offline_mode/', include(offline_mode_urls)),
#url(r'^dashboard/$', 'cpovc_dashboard.views.ovc_dashboard', name='ovc_dashboard'),
url(r'^d/$', 'cpovc_dashboard.views.ovc_dashboard', name='ovc_dashboard'),
url(r'^d/hivstat/', 'cpovc_dashboard.views.ovc_dashboard_hivstat', name='hivstat_dash'),
url(r'^d/services/', 'cpovc_dashboard.views.ovc_dashboard_services', name='services_dash'),
url(r'^d/cm/', 'cpovc_dashboard.views.ovc_dashboard_cm', name='cm_dash'),
url(r'^api/v2/', include(dashboard_api_urls)),
path('offline_mode/', include(offline_mode_urls)),
#url(r'^dashboard/$', cpovc_dashboard.views.ovc_dashboard, name='ovc_dashboard'),
path('d/', cpovc_dashboard.views.ovc_dashboard, name='ovc_dashboard'),
path('d/hivstat/', cpovc_dashboard.views.ovc_dashboard_hivstat, name='hivstat_dash'),
path('d/services/', cpovc_dashboard.views.ovc_dashboard_services, name='services_dash'),
path('d/cm/', cpovc_dashboard.views.ovc_dashboard_cm, name='cm_dash'),
path('api/v2/', include(dashboard_api_urls)),
]

handler400 = 'cpims.views.handler_400'
Expand Down
Loading

0 comments on commit 4dd357e

Please sign in to comment.