Skip to content

Commit

Permalink
email message template
Browse files Browse the repository at this point in the history
  • Loading branch information
titusowuor30 committed Apr 8, 2024
1 parent dcf461e commit 4dd5a6b
Show file tree
Hide file tree
Showing 25 changed files with 222 additions and 121 deletions.
Binary file modified api/__pycache__/admin.cpython-311.pyc
Binary file not shown.
Binary file modified api/__pycache__/models.cpython-311.pyc
Binary file not shown.
Binary file modified api/__pycache__/serializers.cpython-311.pyc
Binary file not shown.
Binary file modified api/__pycache__/urls.cpython-311.pyc
Binary file not shown.
Binary file modified api/__pycache__/views.cpython-311.pyc
Binary file not shown.
30 changes: 9 additions & 21 deletions api/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from .models import *
# Register your models here.


@admin.register(indicators)
class IndicatorAdmin(admin.ModelAdmin):
search_fields = ('MOH_Indicator_ID', 'MOH_Indicator_Name', 'created',
'lastUpdated', 'displayName')
Expand All @@ -11,7 +11,7 @@ class IndicatorAdmin(admin.ModelAdmin):
list_display = ['MOH_Indicator_Name',
'MOH_Indicator_ID', 'created', 'lastUpdated']


@admin.register(mapped_data)
class MappingAdmin(admin.ModelAdmin):
search_fields = ('DATIM_Indicator_Category', 'DATIM_Disag_Name',
'MOH_Indicator_Name', 'Operation', 'MOH_Indicator_ID')
Expand All @@ -20,7 +20,7 @@ class MappingAdmin(admin.ModelAdmin):
list_display = ['DATIM_Indicator_Category', 'Operation', 'DATIM_Disag_Name',
'MOH_Indicator_Name', 'MOH_Indicator_ID']


@admin.register(final_comparison_data)
class ComparisonAdmin(admin.ModelAdmin):
search_fields = ('facility', 'category', 'ward', 'subcounty', 'county',
'indicators', 'khis_minus_datim', 'concodance', 'weight','DATIM_Disag_Name',)
Expand All @@ -29,51 +29,39 @@ class ComparisonAdmin(admin.ModelAdmin):
list_display = ['category', 'facility', 'ward', 'subcounty', 'county', 'MOH_FacilityID', 'MOH_IndicatorCode', 'DATIM_Disag_Name',
'indicators', 'khis_data', 'datim_data', 'khis_minus_datim', 'weight', 'concodance']


@admin.register(counties)
class CountyAdmin(admin.ModelAdmin):
search_fields = ('name',)
list_filter = ['name', ]
list_display = ['name', ]

@admin.register(subcounties)
class SubCountyAdmin(admin.ModelAdmin):
search_fields = ('name',)
list_filter = ['name', ]
list_display = ['name', ]

@admin.register(ward)
class WardAdmin(admin.ModelAdmin):
search_fields = ('name',)
list_filter = ['name', ]
list_display = ['name', ]

@admin.register(Facilities)
class FacilitiesAdmin(admin.ModelAdmin):
search_fields = ('name','uid','mfl_code','level')
list_filter = ['name','uid','mfl_code','level' ]
list_display = ['name','uid','mfl_code','level' ]


@admin.register(indicatorType)
class indicatorTypeAdmin(admin.ModelAdmin):
search_fields = ('name', 'id')


@admin.register(Concodance)
class ConcodanceAdmin(admin.ModelAdmin):
search_fields = ('county', 'period_start', 'period_end',
'indicator_name', 'percentage')
list_filter = ['county', 'period_start', 'period_end', 'indicator_name', 'period_end',
'indicator_name', 'percentage', ]
list_display = ['county', 'period_start', 'period_end',
'indicator_name', 'percentage', ]


admin.site.register(indicators, IndicatorAdmin)
admin.site.register(indicatorType, indicatorTypeAdmin)
admin.site.register(middleware_settings)
admin.site.register(total_records)
admin.site.register(Facilities,FacilitiesAdmin)
admin.site.register(schedule_settings)
admin.site.register(Data_Mapping_Files)
admin.site.register(mapped_data, MappingAdmin)
admin.site.register(final_comparison_data, ComparisonAdmin)
admin.site.register(counties, CountyAdmin)
admin.site.register(subcounties,SubCountyAdmin)
admin.site.register(ward,WardAdmin)
admin.site.register(Concodance, ConcodanceAdmin)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generated by Django 5.0.4 on 2024-04-05 10:06

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('api', '0006_delete_indicator_category_and_more'),
]

operations = [
migrations.DeleteModel(
name='middleware_settings',
),
migrations.DeleteModel(
name='schedule_settings',
),
]
27 changes: 0 additions & 27 deletions api/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,33 +87,6 @@ class Meta:
db_table = 'moh_indicator_types'
verbose_name_plural = 'indicators types'


class middleware_settings(models.Model):
syncdata = models.BooleanField(default=False)
client_url = models.URLField(
default="http://nhdc-kmhfl.health.go.ke/api/analytics.json?dimension=dx:W0ChhvyVtSX;EXmKDudsMNb;fuX0Qzg218I;fXErbzykgKz;kAvepmaQr9c;WOjriy3w7Fh;NYkr7LlxmUg;qw7eJpLE3vK;du5RMT3aecB;wu0ITFRjUzF;D9YwtS6RhQ1;xMNhnyu7vm1;kLXGWRLzCAw;oCFXmpol7D8;F9OR49Lc1aR;cBTa1jVzT8f;J4vNm7YEkdj;M5zablilTPO;dlldM4hP2Wk;vRVLmMCRuN9;fqj4xHg5t5t;vxJMFFkYUsI;Pbl9S4jD6sw;Kb5NZ5AadY3;tv9aE5k0IqF;usVko3BNxUz;EzuWF48G6ep;jF9pdL3SuHL;cr3CkBQcqGI;ZG5LOYaEecn;Te9pM8UoINV;OePJt8CcZ0d;lj9QYJqS7bN;gMICOUtzqRb;XiRbc0DSMOH;YXJf27jfkvS;JiuqbydCIcy;pkShOkgNQt2;atSQz5O7e2A;gTkVw97FnQK;Yk5WVF4EQoX;kmuBTU9NAjw;G7zACbrJMmY;Th97Ccd4BuJ;OYGWqG4HnBZ;M6hV3ObOCHV;NOga2tabGrd;q50r2FWg6de;hrRIahUNIDc;l2OiHQroa5M&dimension=pe:2022Q4;2023Q1;2023Q2;2023Q3&tableLayout=true&rows=pe&columns=dx&skipRounding=false&completedOnly=false&filter=ou:{org}", blank=True, null=True)

def __str__(self):
return "Data Sync Settings"

class Meta:
db_table = 'middleware_settings'
verbose_name_plural = 'Data Sync Settings'


class schedule_settings(models.Model):
sync_time = models.DateTimeField()
shedule_description = models.CharField(
default="Weekely data sync", max_length=255, blank=True, null=True)

def __str__(self):
return "Schedule Settings"

class Meta:
db_table = 'schedule_settings'
verbose_name_plural = 'Schedule Settings'


class total_records(models.Model):
records = models.IntegerField(default=0)

Expand Down
15 changes: 0 additions & 15 deletions api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,6 @@ class Meta:
model = indicatorType
fields = '__all__'



class middleware_settingSerializer(serializers.ModelSerializer):
class Meta:
model = middleware_settings
fields = '__all__'


class ComparisonDataSerializer(serializers.ModelSerializer):
class Meta:
model = final_comparison_data
Expand All @@ -38,13 +30,6 @@ class Meta:
model = counties
fields = ('name',)


class ScheduleSerializer(serializers.ModelSerializer):
class Meta:
model = schedule_settings
fields = '__all__'


class FileUploadSerializer(serializers.ModelSerializer):
class Meta:
model = Data_Mapping_Files
Expand Down
6 changes: 0 additions & 6 deletions api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,12 @@
router.register('listfiles', FileUploadViewSet)
router.register('listindicators', IndicatorViewSet)
router.register('listindicator_types', IndicatorTypeViewSet)
router.register('listmiddleware_settings', MiddlewareSettingsViewSet)
router.register('listcounties', CountyViewSet)

urlpatterns = [
path('create_indicator/', IndicatorCreate.as_view(), name='create_indicator'),
path('create_indicator_type/',
IndicatorTypeCreate.as_view(), name='create_indicator_type'),
path('listschedules/', ScheduleView.as_view(), name='schedules'),
path('listschedules/<int:pk>/',
ScheduleView.as_view(), name='update_schedules'),
path('indicators/<int:limit>/', IndicatorList.as_view(),
name='indicators'),
path('indicators/filter/<date:from_date>/<date:to_date>/<int:limit>/', IndicatorFilter.as_view(),
Expand All @@ -28,8 +24,6 @@
name='indicators_count'),
path('total_records_count/', get_records_count,
name='total_records_count'),
path('sync_data/', sync_data,
name='sync_data'),
path('total_count/', total_count,
name='total_count'),
# path('map_data/<str:county>/<str:category>/<date:from_date>/<date:to_date>/<int:limit>/', map_data,
Expand Down
50 changes: 0 additions & 50 deletions api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,44 +22,6 @@ class IndicatorViewSet(viewsets.ModelViewSet):
serializer_class = IndicatorSerializer
permission_classes = ()


class ScheduleView(APIView):
serializer_class = ScheduleSerializer
permission_classes = [permissions.IsAuthenticated,]

def get_object(self, pk):
try:
return schedule_settings.objects.get(pk=pk)
except schedule_settings.DoesNotExist:
raise Http404

def get(self, request, format=None):
recs = schedule_settings.objects.all()
serializer = ScheduleSerializer(
recs, many=True, context={"request": request})
return Response(serializer.data)

def post(self, request, format=None):
serializer = ScheduleSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

def put(self, request, pk, format=None):
schedule = self.get_object(pk)
serializer = ScheduleSerializer(schedule, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

def delete(self, request, pk, format=None):
schedule = self.get_object(pk)
schedule.delete()
return Response(status=status.HTTP_204_NO_CONTENT)


class FileUploadViewSet(viewsets.ModelViewSet):
queryset = Data_Mapping_Files.objects.all()
serializer_class = FileUploadSerializer
Expand Down Expand Up @@ -161,13 +123,6 @@ def get_records_count(request):
print(e)
return Response({"Error": e})


@api_view()
def sync_data(request):
sets = middleware_settings.objects.all().first()
return Response({"id": sets.id, "synctdata": str(sets.syncdata).lower(), "client_url": sets.client_url})


@csrf_exempt
def total_count(request):
try:
Expand Down Expand Up @@ -210,8 +165,3 @@ def get_queryset(self):
queryset = []
return queryset


class MiddlewareSettingsViewSet(viewsets.ModelViewSet):
queryset = middleware_settings.objects.all()
serializer_class = middleware_settingSerializer
permission_classes = ()
Binary file modified datapull/__pycache__/models.cpython-311.pyc
Binary file not shown.
Binary file modified datapull/__pycache__/urls.cpython-311.pyc
Binary file not shown.
Binary file modified datapull/__pycache__/views.cpython-311.pyc
Binary file not shown.
38 changes: 38 additions & 0 deletions datapull/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Generated by Django 5.0.4 on 2024-04-05 10:06

from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='middleware_settings',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('syncdata', models.BooleanField(default=False)),
('server_url', models.URLField(blank=True, default='https://khis.pmtct.uonbi.ac.ke/api/29/analytics.json&filter=ou:', null=True)),
('server_username', models.CharField(default='healthit', max_length=255)),
('server_password', models.CharField(default='rr23H3@1th1Tmtct', max_length=255)),
],
options={
'verbose_name_plural': 'Sync Settings',
},
),
migrations.CreateModel(
name='schedule_settings',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sync_time', models.DateTimeField()),
('shedule_description', models.CharField(blank=True, default='Weekely data sync', max_length=255, null=True)),
],
options={
'verbose_name_plural': 'Schedule Settings',
},
),
]
23 changes: 23 additions & 0 deletions datapull/models.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
from django.db import models

# Create your models here.
class middleware_settings(models.Model):
syncdata = models.BooleanField(default=False)
server_url = models.URLField(
default="https://khis.pmtct.uonbi.ac.ke/api/29/analytics.json&filter=ou:", blank=True, null=True)
server_username=models.CharField(max_length=255,default='healthit')
server_password = models.CharField(max_length=255, default="rr23H3@1th1Tmtct")

def __str__(self):
return "Sync Settings"

class Meta:
verbose_name_plural = 'Sync Settings'

class schedule_settings(models.Model):
sync_time = models.DateTimeField()
shedule_description = models.CharField(
default="Weekely data sync", max_length=255, blank=True, null=True)

def __str__(self):
return "Schedule Settings"

class Meta:
verbose_name_plural = 'Schedule Settings'
12 changes: 12 additions & 0 deletions datapull/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from .models import *
from rest_framework import serializers

class middleware_settingSerializer(serializers.ModelSerializer):
class Meta:
model = middleware_settings
fields = '__all__'

class ScheduleSerializer(serializers.ModelSerializer):
class Meta:
model = schedule_settings
fields = '__all__'
8 changes: 7 additions & 1 deletion datapull/urls.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
from django.urls import path,include
from rest_framework.routers import DefaultRouter
from .views import DataClientViewSet
from .views import *

# Create a router and register our viewsets with it.
router = DefaultRouter()
router.register(r'pmtct-data', DataClientViewSet, basename='pmtct-data')
router.register('listmiddleware_settings', MiddlewareSettingsViewSet)

# The API URLs are now determined automatically by the router.
urlpatterns = [
path('', include(router.urls)),
path('listschedules/', ScheduleView.as_view(), name='schedules'),
path('listschedules/<int:pk>/',
ScheduleView.as_view(), name='update_schedules'),
path('sync_data/', sync_data,
name='sync_data'),
]
Loading

0 comments on commit 4dd5a6b

Please sign in to comment.