Skip to content

Commit

Permalink
contrib refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
domdinicola committed Oct 2, 2024
1 parent 9ca7a9f commit e0bd68f
Show file tree
Hide file tree
Showing 148 changed files with 787 additions and 844 deletions.
5 changes: 5 additions & 0 deletions manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
import os
import sys

SRC = os.path.abspath("src")
sys.path.insert(0, SRC)
if sys.argv[1] == "test":
os.chdir(os.path.join(SRC, "hope_payment_gateway"))

if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hct_mis_api.config.settings")

Expand Down
4 changes: 2 additions & 2 deletions src/hct_mis_api/apps/core/tasks_schedules.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
# "schedule": crontab(hour="*/24"),
# },
"extract_records_task": {
"task": "hct_mis_api.aurora.celery_tasks.extract_records_task",
"task": "hct_mis_api.contrib.aurora.celery_tasks.extract_records_task",
"schedule": crontab(hour="*/24"),
},
"remove_old_cash_plan_payment_verification_xls": {
Expand All @@ -42,7 +42,7 @@
"schedule": crontab(minute="*/15"),
},
"clean_old_record_files_task": {
"task": "hct_mis_api.aurora.celery_tasks.clean_old_record_files_task",
"task": "hct_mis_api.contrib.aurora.celery_tasks.clean_old_record_files_task",
"schedule": crontab(month_of_year="2-12/2"),
},
"periodic_sync_payment_gateway_fsp": {
Expand Down
4 changes: 2 additions & 2 deletions src/hct_mis_api/apps/household/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
)

if TYPE_CHECKING:
from hct_mis_api.aurora.models import Record
from hct_mis_api.contrib.aurora.models import Record

BLANK = ""
IDP = "IDP"
Expand Down Expand Up @@ -658,7 +658,7 @@ def alternate_collector(self) -> Optional["Individual"]:

@property
def flex_registrations_record(self) -> Optional["Record"]:
from hct_mis_api.aurora.models import Record
from hct_mis_api.contrib.aurora.models import Record

return Record.objects.filter(id=self.flex_registrations_record_id).first()

Expand Down
5 changes: 3 additions & 2 deletions src/hct_mis_api/config/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@
DATABASES["cash_assist_datahub_erp"]["OPTIONS"] = {
"sslmode": "verify-full",
"sslrootcert": "/certs/psql-cert.crt",
"options": "-c search_path=erp",
"options": "-c search_path=vision",
}
DATABASES["registration_datahub"]["OPTIONS"] = {
"sslmode": "verify-full",
Expand Down Expand Up @@ -233,10 +233,11 @@
"hct_mis_api.apps.steficon.apps.SteficonConfig",
"hct_mis_api.apps.reporting.apps.ReportingConfig",
"hct_mis_api.apps.activity_log.apps.ActivityLogConfig",
"hct_mis_api.aurora.apps.Config",
"hct_mis_api.apps.accountability.apps.AccountabilityConfig",
"hct_mis_api.apps.web.apps.WebConfig",
"hct_mis_api.apps.periodic_data_update.apps.PeriodicDataUpdateConfig",
"hct_mis_api.contrib.aurora.apps.Config",
"hct_mis_api.contrib.vision.apps.Config",
]

DJANGO_APPS = [
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@
from hct_mis_api.apps.registration_data.models import RegistrationDataImport
from hct_mis_api.apps.utils.admin import HOPEModelAdminBase
from hct_mis_api.apps.utils.security import is_root
from hct_mis_api.aurora import models
from hct_mis_api.aurora.celery_tasks import fresh_extract_records_task
from hct_mis_api.aurora.models import Record, Registration
from hct_mis_api.aurora.services.extract_record import extract
from hct_mis_api.aurora.services.flex_registration_service import (
from hct_mis_api.contrib.aurora import models
from hct_mis_api.contrib.aurora.celery_tasks import fresh_extract_records_task
from hct_mis_api.contrib.aurora.models import Record, Registration
from hct_mis_api.contrib.aurora.services.extract_record import extract
from hct_mis_api.contrib.aurora.services.flex_registration_service import (
create_task_for_processing_records,
)
from hct_mis_api.aurora.utils import fetch_records, get_metadata
from hct_mis_api.contrib.aurora.utils import fetch_records, get_metadata


class StatusFilter(ChoicesFieldComboFilter):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# from rest_framework import serializers
# from rest_framework.generics import ListAPIView
#
# from hct_mis_api.aurora.models import AuroraRegistration
# from hct_mis_api.contrib.aurora.models import AuroraRegistration
#
#
# class RegistrationDetailSerializer(serializers.ModelSerializer):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@


class Config(AppConfig):
name = "hct_mis_api.aurora"
name = "hct_mis_api.contrib.aurora"

def ready(self) -> None:
from hct_mis_api.aurora.rdi import registry
from hct_mis_api.aurora.services.czech_republic_flex_registration_service import (
from hct_mis_api.contrib.aurora.rdi import registry
from hct_mis_api.contrib.aurora.services.czech_republic_flex_registration_service import (
CzechRepublicFlexRegistration,
)
from hct_mis_api.aurora.services.generic_registration_service import (
from hct_mis_api.contrib.aurora.services.generic_registration_service import (
GenericRegistrationService,
)
from hct_mis_api.aurora.services.sri_lanka_flex_registration_service import (
from hct_mis_api.contrib.aurora.services.sri_lanka_flex_registration_service import (
SriLankaRegistrationService,
)
from hct_mis_api.aurora.services.ukraine_flex_registration_service import (
from hct_mis_api.contrib.aurora.services.ukraine_flex_registration_service import (
Registration2024,
UkraineBaseRegistrationService,
UkraineRegistrationService,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
)
from hct_mis_api.apps.utils.logs import log_start_and_end
from hct_mis_api.apps.utils.sentry import sentry_tags
from hct_mis_api.aurora.models import Record, Registration
from hct_mis_api.aurora.services.extract_record import extract
from hct_mis_api.contrib.aurora.models import Record, Registration
from hct_mis_api.contrib.aurora.services.extract_record import extract

if TYPE_CHECKING:
from uuid import UUID
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from hct_mis_api.apps.account.fixtures import BusinessAreaFactory
from hct_mis_api.apps.program.fixtures import ProgramFactory
from hct_mis_api.aurora.models import Organization, Project, Registration
from hct_mis_api.contrib.aurora.models import Organization, Project, Registration

faker = Faker()

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django import forms
from django.core.exceptions import ValidationError

from hct_mis_api.aurora.models import Registration
from hct_mis_api.contrib.aurora.models import Registration


class ProjectForm(forms.ModelForm):
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from strategy_field.fields import StrategyField

from hct_mis_api.apps.registration_datahub.utils import combine_collections
from hct_mis_api.aurora.rdi import registry
from hct_mis_api.contrib.aurora.rdi import registry


class AuroraModel(models.Model):
Expand Down
File renamed without changes.
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
from hct_mis_api.apps.household.models import PendingHousehold, PendingIndividual
from hct_mis_api.apps.registration_data.models import ImportData, RegistrationDataImport
from hct_mis_api.apps.registration_datahub.celery_tasks import rdi_deduplication_task
from hct_mis_api.aurora.celery_tasks import process_flex_records_task
from hct_mis_api.aurora.models import Record, Registration
from hct_mis_api.aurora.rdi import AuroraProcessor
from hct_mis_api.contrib.aurora.celery_tasks import process_flex_records_task
from hct_mis_api.contrib.aurora.models import Record, Registration
from hct_mis_api.contrib.aurora.rdi import AuroraProcessor

if TYPE_CHECKING:
from uuid import UUID
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
PendingIndividualRoleInHousehold,
)
from hct_mis_api.apps.registration_data.models import RegistrationDataImport
from hct_mis_api.aurora.services.base_flex_registration_service import (
from hct_mis_api.contrib.aurora.services.base_flex_registration_service import (
BaseRegistrationService,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Any, Iterable

from hct_mis_api.apps.registration_datahub.templatetags.smart_register import is_image
from hct_mis_api.aurora.models import Record
from hct_mis_api.contrib.aurora.models import Record

logger = logging.getLogger(__name__)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
PendingIndividualRoleInHousehold,
)
from hct_mis_api.apps.registration_data.models import RegistrationDataImport
from hct_mis_api.aurora.services.base_flex_registration_service import (
from hct_mis_api.contrib.aurora.services.base_flex_registration_service import (
BaseRegistrationService,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from hct_mis_api.apps.periodic_data_update.utils import populate_pdu_with_null_values
from hct_mis_api.apps.registration_data.models import RegistrationDataImport
from hct_mis_api.apps.utils.age_at_registration import calculate_age_at_registration
from hct_mis_api.aurora.services.base_flex_registration_service import (
from hct_mis_api.contrib.aurora.services.base_flex_registration_service import (
BaseRegistrationService,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
PendingIndividualRoleInHousehold,
)
from hct_mis_api.apps.registration_data.models import RegistrationDataImport
from hct_mis_api.aurora.services.base_flex_registration_service import (
from hct_mis_api.contrib.aurora.services.base_flex_registration_service import (
BaseRegistrationService,
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.urls import path

from hct_mis_api.aurora.views import FetchDataView, RegistrationDataView
from hct_mis_api.contrib.aurora.views import FetchDataView, RegistrationDataView

app_name = "aurora"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@
from coreapi import codecs
from coreapi.exceptions import NoCodecAvailable

from hct_mis_api.aurora.models import Organization, Project, Record, Registration
from hct_mis_api.contrib.aurora.models import (
Organization,
Project,
Record,
Registration,
)

logger = logging.getLogger(__name__)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
from admin_extra_buttons.utils import HttpResponseRedirectToReferrer
from sentry_sdk import set_tag

from hct_mis_api.aurora.models import Registration
from hct_mis_api.aurora.utils import fetch_metadata
from hct_mis_api.contrib.aurora.models import Registration
from hct_mis_api.contrib.aurora.utils import fetch_metadata


class FetchDataView(ProcessFormView):
Expand Down
Empty file.
30 changes: 30 additions & 0 deletions src/hct_mis_api/contrib/vision/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from django.contrib import admin

from adminfilters.filters import ValueFilter

from hct_mis_api.apps.utils.admin import HOPEModelAdminBase
from hct_mis_api.contrib.vision.models import DownPayment, FundsCommitment


@admin.register(FundsCommitment)
class FundsCommitmentAdmin(HOPEModelAdminBase):
list_display = (
"rec_serial_number",
"business_area",
"funds_commitment_item",
"funds_commitment_number",
"posting_date",
)
list_filter = (
"business_area",
"posting_date",
("business_area", ValueFilter),
)
search_fields = ("rec_serial_number", "vendor_id", "wbs_element", "funds_commitment_number")


@admin.register(DownPayment)
class DownPaymentAdmin(HOPEModelAdminBase):
list_display = ("rec_serial_number", "down_payment_reference", "business_area", "consumed_fc_number")

list_filter = (("business_area", ValueFilter),)
6 changes: 6 additions & 0 deletions src/hct_mis_api/contrib/vision/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.apps import AppConfig


class Config(AppConfig):
name = "hct_mis_api.contrib.vision"
verbose_name = "Vision"
25 changes: 25 additions & 0 deletions src/hct_mis_api/contrib/vision/fixtures.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import factory.fuzzy
from factory.django import DjangoModelFactory
from pytz import utc

from hct_mis_api.apps.core.models import BusinessArea
from hct_mis_api.contrib.vision.models import FundsCommitment


class FundsCommitmentFactory(DjangoModelFactory):
class Meta:
model = FundsCommitment

rec_serial_number = factory.fuzzy.FuzzyInteger(1000, 99999999)
business_area = factory.LazyAttribute(lambda o: BusinessArea.objects.first().cash_assist_code)
document_type = "DO"
currency_code = factory.Faker("currency_code")

total_open_amount_local = factory.fuzzy.FuzzyDecimal(100.0, 10000.0)
total_open_amount_usd = factory.fuzzy.FuzzyDecimal(100.0, 10000.0)
update_date = factory.Faker(
"date_time_this_decade",
before_now=True,
after_now=False,
tzinfo=utc,
)
79 changes: 79 additions & 0 deletions src/hct_mis_api/contrib/vision/migrations/0001_migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Generated by Django 3.2.25 on 2024-10-01 11:58

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

initial = True

dependencies = [
('core', '0087_migration'),
]

operations = [
migrations.CreateModel(
name='DownPayment',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('rec_serial_number', models.CharField(blank=True, max_length=10, null=True)),
('business_area', models.CharField(max_length=4)),
('down_payment_reference', models.CharField(max_length=20)),
('document_type', models.CharField(max_length=10)),
('consumed_fc_number', models.CharField(max_length=10)),
('total_down_payment_amount_local', models.DecimalField(decimal_places=2, max_digits=15)),
('total_down_payment_amount_usd', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True)),
('currency_code', models.CharField(blank=True, max_length=5, null=True)),
('posting_date', models.DateField(blank=True, null=True)),
('doc_year', models.IntegerField(blank=True, null=True)),
('doc_number', models.CharField(blank=True, max_length=10, null=True)),
('doc_item_number', models.CharField(max_length=3, null=True)),
('create_date', models.DateTimeField(auto_now_add=True, null=True)),
('created_by', models.CharField(blank=True, default='', max_length=20, null=True)),
('update_date', models.DateTimeField(blank=True, null=True)),
('updated_by', models.CharField(blank=True, default='', max_length=20, null=True)),
('business_office_code', models.CharField(blank=True, max_length=4, null=True)),
('business_area_obj', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.businessarea')),
],
),
migrations.CreateModel(
name='FundsCommitment',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('rec_serial_number', models.CharField(max_length=10, unique=True)),
('business_area', models.CharField(blank=True, max_length=4, null=True)),
('funds_commitment_number', models.CharField(blank=True, max_length=10, null=True)),
('document_type', models.CharField(blank=True, max_length=2, null=True)),
('document_text', models.CharField(blank=True, max_length=50, null=True)),
('currency_code', models.CharField(blank=True, max_length=5, null=True)),
('gl_account', models.CharField(blank=True, max_length=10, null=True)),
('commitment_amount_local', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True)),
('commitment_amount_usd', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True)),
('total_open_amount_local', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True)),
('total_open_amount_usd', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True)),
('vendor_id', models.CharField(blank=True, max_length=10, null=True)),
('posting_date', models.DateField(blank=True, null=True)),
('vision_approval', models.CharField(blank=True, max_length=1, null=True)),
('document_reference', models.CharField(max_length=16, null=True)),
('fc_status', models.CharField(blank=True, max_length=1, null=True)),
('create_date', models.DateTimeField(auto_now_add=True, null=True)),
('created_by', models.CharField(blank=True, default='', max_length=20, null=True)),
('update_date', models.DateTimeField(blank=True, null=True)),
('updated_by', models.CharField(blank=True, default='', max_length=20, null=True)),
('grant_number', models.CharField(blank=True, default='', max_length=10, null=True)),
('sponsor', models.CharField(blank=True, default='', max_length=10, null=True)),
('sponsor_name', models.CharField(blank=True, default='', max_length=100, null=True)),
('wbs_element', models.CharField(blank=True, default='', max_length=24, null=True)),
('fund', models.CharField(blank=True, default='', max_length=10, null=True)),
('funds_center', models.CharField(blank=True, default='', max_length=16, null=True)),
('funds_commitment_item', models.CharField(blank=True, default='', max_length=3, null=True)),
('percentage', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)),
('business_office_code', models.CharField(blank=True, max_length=4, null=True)),
('business_area_obj', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.businessarea')),
],
options={
'unique_together': {('funds_commitment_number', 'funds_commitment_item')},
},
),
]
Empty file.
Loading

0 comments on commit e0bd68f

Please sign in to comment.