Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: 677 - remove unused household code #691

Open
wants to merge 1 commit into
base: release-1.25.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions django/api/constants.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from enum import Enum


# for each income tested maximum rebate ($4000, $2000, $1000), there are different rebate levels for certain ZEV types and lease terms
# for each income tested maximum rebate ($4000, $2000, $1000), there
# are different rebate levels for certain ZEV types and lease terms
class FOUR_THOUSAND_REBATE(Enum):
ZEV_MAX = 4000
ZEV_MID = 2688
Expand Down Expand Up @@ -41,17 +42,14 @@ class RebateType(Enum):
INCOME_REBATES = {
RebateType.C.value: {
"individual_income": 100000,
"household_income": 165000,
"rebate": 1000,
},
RebateType.B.value: {
"individual_income": 90000,
"household_income": 145000,
"rebate": 2000,
},
RebateType.A.value: {
"individual_income": 80000,
"household_income": 125000,
"rebate": 4000,
},
}
6 changes: 1 addition & 5 deletions django/api/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,4 @@ def set_email_status(task):
if func == "api.tasks.send_individual_confirm":
GoElectricRebateApplication.objects.filter(pk=application_id).update(
confirmation_email_success=email_successful
)
elif task.func == "api.tasks.send_spouse_initial_message":
GoElectricRebateApplication.objects.filter(pk=application_id).update(
spouse_email_success=email_successful
)
)
16 changes: 0 additions & 16 deletions django/api/models/go_electric_rebate_application.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,12 @@
from django_extensions.db.models import TimeStampedModel
from django.utils.translation import gettext_lazy as _
from django.utils.functional import classproperty
from api.signals import household_application_saved

media_storage = get_storage_class()()


class ApplicationManager(Manager):
def create(self, **kwargs):
spouse_email = kwargs.pop("spouse_email", None)
obj = super().create(**kwargs)
if spouse_email:
household_application_saved.send(
sender=GoElectricRebateApplication,
instance=obj,
created=True,
spouse_email=spouse_email,
)
return obj


class GoElectricRebateApplication(TimeStampedModel):
objects = ApplicationManager()

class Status(TextChoices):
HOUSEHOLD_INITIATED = ("household_initiated", _("Household Initiated"))
SUBMITTED = ("submitted", _("Submitted"))
Expand Down
31 changes: 3 additions & 28 deletions django/api/serializers/application_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,10 @@ class ApplicationFormCreateSerializerDefault(ApplicationFormCreateSerializer):
def create(self, validated_data):
request = self.context["request"]
user = request.user
spouse_email = request.data.get("spouse_email")

obj = GoElectricRebateApplication.objects.create(
sin=validated_data["sin"],
status=self._get_status(validated_data),
status= GoElectricRebateApplication.Status.SUBMITTED,
email=validated_data["email"],
drivers_licence=validated_data["drivers_licence"],
last_name=validated_data["last_name"],
Expand All @@ -54,21 +53,12 @@ def create(self, validated_data):
doc2=validated_data["doc2"],
tax_year=self._get_tax_year(),
application_type=validated_data["application_type"],
spouse_email=spouse_email,
user=user,
consent_personal=validated_data["consent_personal"],
consent_tax=validated_data["consent_tax"],
)
return obj

def _get_status(self, validated_data):
application_type = validated_data["application_type"]
# TODO use enum type here like status.
if application_type == "household":
return GoElectricRebateApplication.Status.HOUSEHOLD_INITIATED
return GoElectricRebateApplication.Status.SUBMITTED


class ApplicationFormCreateSerializerBCSC(ApplicationFormCreateSerializer):
class Meta(ApplicationFormCreateSerializer.Meta):
exclude = [
Expand All @@ -86,12 +76,11 @@ class Meta(ApplicationFormCreateSerializer.Meta):
def create(self, validated_data):
request = self.context["request"]
user = request.user
spouse_email = request.data.get("spouse_email")

try:
obj = GoElectricRebateApplication.objects.create(
sin=validated_data["sin"],
status=self._get_status(validated_data),
status=GoElectricRebateApplication.Status.VERIFIED,
email=validated_data["email"],
drivers_licence=validated_data["drivers_licence"],
last_name=user.last_name,
Expand All @@ -102,7 +91,6 @@ def create(self, validated_data):
postal_code=user.postal_code,
tax_year=self._get_tax_year(),
application_type=validated_data["application_type"],
spouse_email=spouse_email,
user=user,
consent_personal=validated_data["consent_personal"],
consent_tax=validated_data["consent_tax"],
Expand All @@ -111,13 +99,6 @@ def create(self, validated_data):
except Exception as e:
return Response({"response": str(e)}, status=status.HTTP_400_BAD_REQUEST)

def _get_status(self, validated_data):
application_type = validated_data["application_type"]
# TODO use enum type here like status.
if application_type == "household":
return GoElectricRebateApplication.Status.HOUSEHOLD_INITIATED
return GoElectricRebateApplication.Status.VERIFIED


class ApplicationFormSerializer(ModelSerializer):
sin = SerializerMethodField()
Expand Down Expand Up @@ -145,10 +126,4 @@ class Meta:
"created",
"email",
"drivers_licence",
)


class ApplicationFormSpouseSerializer(ModelSerializer):
class Meta:
model = GoElectricRebateApplication
fields = ["address", "city", "postal_code", "status"]
)
134 changes: 0 additions & 134 deletions django/api/serializers/household_member.py

This file was deleted.

1 change: 0 additions & 1 deletion django/api/services/go_electric_rebate_application.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ def equivalent_drivers_licence_number_found(
.filter(
status__in=[
GoElectricRebateApplication.Status.SUBMITTED,
GoElectricRebateApplication.Status.HOUSEHOLD_INITIATED,
GoElectricRebateApplication.Status.VERIFIED,
GoElectricRebateApplication.Status.APPROVED,
GoElectricRebateApplication.Status.REDEEMED,
Expand Down
15 changes: 0 additions & 15 deletions django/api/services/tests/test_calculate_rebate.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,21 +122,6 @@ def test_individual_receives_not_approved_sin_mismatch(self):
)
self.assertEqual(rebate_amount, RebateType.F.value)

def test_household_cra_responses(self):
cra_response = {
"B5t92XeH7NnFUwxc": [
{"sin": "123456789", "year": "2020", "income": "65687"},
{"sin": "302435839", "year": "2020", "income": "85687"},
],
}
application = GoElectricRebateApplication.objects.filter(
id__in=list(cra_response.keys())
).first()
single_cra_response = cra_response.get(application.id)
rebate_amount = calculate_individual_rebate_amount(
single_cra_response, application
)
self.assertEqual(rebate_amount, None)

def test_iterate_cra(self):
# checks cra results one by one
Expand Down
1 change: 0 additions & 1 deletion django/api/services/tests/test_rebate.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.test import TestCase
from ...models.go_electric_rebate_application import GoElectricRebateApplication
from ...models.household_member import HouseholdMember
from django.contrib.auth import get_user_model

User = get_user_model()
Expand Down
43 changes: 0 additions & 43 deletions django/api/signal_receivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
from .models.go_electric_rebate_application import (
GoElectricRebateApplication,
)
from .models.household_member import HouseholdMember
from django.dispatch import receiver
from django.conf import settings
from api.models.household_member import HouseholdMember
from django_q.tasks import async_task
from api.utility import addresses_match
from .signals import household_application_saved


@receiver(post_save, sender=GoElectricRebateApplication)
Expand All @@ -22,45 +18,6 @@ def create_application(sender, instance, created, **kwargs):
)


@receiver(household_application_saved, sender=GoElectricRebateApplication)
def after_household_application_created(sender, instance, created, **kwargs):
if settings.EMAIL["SEND_EMAIL"]:
spouse_email = kwargs.get("spouse_email")
async_task(
"api.tasks.send_spouse_initial_message",
spouse_email,
instance.id,
instance.email,
hook="api.hooks.set_email_status",
)


@receiver(post_save, sender=HouseholdMember)
def after_household_member_save(sender, instance, created, **kwargs):
if created:
application = instance.application
primary_user = application.user
secondary_user = instance.user
if application.status != GoElectricRebateApplication.Status.CANCELLED:
if (
primary_user.identity_provider == "bcsc"
and secondary_user.identity_provider == "bcsc"
and addresses_match(application, secondary_user)
):
application.status = GoElectricRebateApplication.Status.VERIFIED
application.save()
else:
application.status = GoElectricRebateApplication.Status.SUBMITTED
application.save()

if settings.EMAIL["SEND_EMAIL"]:
async_task(
"api.tasks.send_household_confirm",
application.email,
application.id,
)


@receiver(post_save, sender=GoElectricRebateApplication)
def after_status_change(sender, instance, created, **kwargs):
if (
Expand Down
5 changes: 0 additions & 5 deletions django/api/signals.py

This file was deleted.

Loading