예제 #1
0
 def test_create_sub_with_existing_duplicate(self):
     applicant = factories.ApplicantFactory()
     answers = mock.fake.all_county_answers()
     org = Organization.objects.filter(is_receiving_agency=True).first()
     Form = county_form_selector.get_combined_form_class(
         counties=ALL_COUNTY_SLUGS)
     form = Form(answers, validate=True)
     a = SubmissionsService.create_submission(form, [org], applicant.id)
     self.assertFalse(a.duplicate_set_id)
     answers['last_name'] += 's'
     form = Form(answers, validate=True)
     b = SubmissionsService.create_submission(form, [org], applicant.id)
     self.assertTrue(b.duplicate_set_id)
     dup_set_subs = list(b.duplicate_set.submissions.all())
     for sub in (a, b):
         self.assertIn(sub, dup_set_subs)
예제 #2
0
 def test_create_sub_with_existing_duplicate(self):
     applicant = factories.ApplicantFactory()
     answers = mock.fake.all_county_answers()
     org = Organization.objects.filter(is_receiving_agency=True).first()
     Form = county_form_selector.get_combined_form_class(
         counties=ALL_COUNTY_SLUGS)
     form = Form(answers, validate=True)
     a = SubmissionsService.create_submission(form, [org], applicant.id)
     self.assertFalse(a.duplicate_set_id)
     answers['last_name'] += 's'
     form = Form(answers, validate=True)
     b = SubmissionsService.create_submission(form, [org], applicant.id)
     self.assertTrue(b.duplicate_set_id)
     dup_set_subs = list(b.duplicate_set.submissions.all())
     for sub in (a, b):
         self.assertIn(sub, dup_set_subs)
 def finalize_application(self, form):
     organizations = self.get_receiving_organizations(form)
     submission = SubmissionsService.create_submission(
         form, organizations, self.applicant.id)
     EventsService.form_submitted(self, submission)
     SubmissionsService.send_to_newapps_bundle_if_needed(
         submission, organizations=organizations)
     sent_confirmations = \
         SubmissionsService.send_confirmation_notifications(submission)
     main_success_message = _("You have applied for help in "
                              ) + oxford_comma(self.formatted_county_names)
     MessagesService.flash_success(self.request, main_success_message,
                                   *sent_confirmations)
예제 #4
0
 def test_can_create_with_form_orgs_and_app_id(self):
     # given an applicant, some orgs, and a validated form
     applicant = factories.ApplicantFactory()
     organizations = list(Organization.objects.all()[:2])
     Form = county_form_selector.get_combined_form_class(
         counties=ALL_COUNTY_SLUGS)
     form = Form(mock.fake.all_county_answers(), validate=True)
     # make a submission
     submission = SubmissionsService.create_submission(
         form, organizations, applicant.id)
     self.assertEqual(submission.applicant_id, applicant.id)
     self.assertEqual(set(submission.organizations.all()),
                      set(organizations))
예제 #5
0
 def test_can_create_with_form_orgs_and_app_id(self):
     # given an applicant, some orgs, and a validated form
     applicant = factories.ApplicantFactory()
     organizations = list(Organization.objects.all()[:2])
     Form = county_form_selector.get_combined_form_class(
         counties=ALL_COUNTY_SLUGS)
     form = Form(mock.fake.all_county_answers(), validate=True)
     # make a submission
     submission = SubmissionsService.create_submission(
         form, organizations, applicant.id)
     self.assertEqual(submission.applicant_id, applicant.id)
     self.assertEqual(
         set(submission.organizations.all()),
         set(organizations))
 def finalize_application(self, form):
     organizations = self.get_receiving_organizations(form)
     submission = SubmissionsService.create_submission(
         form, organizations, self.applicant.id)
     EventsService.form_submitted(self, submission)
     SubmissionsService.send_to_newapps_bundle_if_needed(
         submission, organizations=organizations)
     sent_confirmations = \
         SubmissionsService.send_confirmation_notifications(submission)
     main_success_message = _(
         "You have applied for help in ") + oxford_comma(
             self.formatted_county_names)
     MessagesService.flash_success(
         self.request, main_success_message, *sent_confirmations)
예제 #7
0
 def form_valid(self, form):
     # if for alameda, send to declaration letter
     organizations = self.get_orgs_for_answers(form.cleaned_data)
     self.update_session_data(
         organizations=[org.slug for org in organizations],
         **form.parsed_data)
     if any([org.requires_declaration_letter for org in organizations]):
         return redirect(reverse('intake-write_letter'))
     submission = SubmissionsService.create_submission(
         form, organizations, self.get_applicant_id())
     self.send_notifications(submission)
     SubmissionsService.fill_pdfs_for_submission(submission)
     if any([org.requires_rap_sheet for org in organizations]):
         return redirect(reverse('intake-rap_sheet'))
     return super().form_valid(form)
예제 #8
0
 def finalize_application(self, form):
     organizations = self.get_receiving_organizations(form)
     submission = SubmissionsService.create_submission(
         form, organizations, self.applicant.id)
     SubmissionsService.fill_pdfs_for_submission(
         submission, organizations=organizations)
     number = models.FormSubmission.objects.count()
     notifications.slack_new_submission.send(submission=submission,
                                             request=self.request,
                                             submission_count=number)
     sent_confirmations = \
         SubmissionsService.send_confirmation_notifications(submission)
     main_success_message = _("You have applied for help in "
                              ) + oxford_comma(self.formatted_county_names)
     MessagesService.flash_success(self.request, main_success_message,
                                   *sent_confirmations)
 def finalize_application(self, form):
     organizations = self.get_receiving_organizations(form)
     submission = SubmissionsService.create_submission(
         form, organizations, self.applicant.id)
     EventsService.form_submitted(submission)
     SubmissionsService.fill_pdfs_for_submission(
         submission, organizations=organizations)
     number = models.FormSubmission.objects.count()
     notifications.slack_new_submission.send(
         submission=submission, request=self.request,
         submission_count=number)
     sent_confirmations = \
         SubmissionsService.send_confirmation_notifications(submission)
     main_success_message = _(
         "You have applied for help in ") + oxford_comma(
             self.formatted_county_names)
     MessagesService.flash_success(
         self.request, main_success_message, *sent_confirmations)
예제 #10
0
 def test_can_create_with_form_orgs_and_app_id(self):
     # given an applicant, some orgs, and a validated form
     applicant = Applicant()
     applicant.save()
     organizations = list(Organization.objects.all()[:2])
     Form = county_form_selector.get_combined_form_class(
         counties=ALL_COUNTY_SLUGS)
     form = Form(mock.fake.all_county_answers(), validate=True)
     # make a submission
     submission = SubmissionsService.create_submission(
         form, organizations, applicant.id)
     # assert that the correct event was created
     events = ApplicationEvent.objects.filter(
         applicant_id=applicant.id).all()
     self.assertEqual(len(events), 1)
     self.assertEqual(events[0].name,
                      ApplicationEvent.APPLICATION_SUBMITTED)
     self.assertEqual(submission.applicant_id, applicant.id)
     self.assertEqual(set(submission.organizations.all()),
                      set(organizations))
예제 #11
0
 def save_submission_and_send_notifications(self, form):
     organizations = self.get_orgs_for_answers(form.cleaned_data)
     submission = SubmissionsService.create_submission(
         form, organizations, self.get_applicant_id())
     self.send_notifications(submission)