gitextract_7qaocwti/ ├── .allow_skipping_tests ├── .better-html.yml ├── .browserslistrc ├── .devcontainer/ │ ├── Dockerfile │ ├── devcontainer.json │ ├── docker-compose.yml │ └── post-create.sh ├── .dockerignore ├── .erb_lint.yml ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── chore.md │ │ ├── config.yml │ │ ├── documentation.md │ │ ├── feature_request.md │ │ ├── flaky_test.md │ │ └── problem_validation.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── autoapproval.yml │ ├── dependabot.yml │ ├── instructions/ │ │ ├── copilot-review.instructions.md │ │ └── ruby.instructions.md │ ├── labeler.yml │ └── workflows/ │ ├── add-labels-based-on-column.yml │ ├── after-deploy.yml │ ├── codeql-analysis.yml │ ├── combine_and_report.yml │ ├── docker.yml │ ├── erb_lint.yml │ ├── factory_bot_lint.yml │ ├── issue-auto-close-done.yml │ ├── issue-auto-unassign.yml │ ├── label.yml │ ├── npm_lint_and_test.yml │ ├── rake-after_party.yml │ ├── remove-helped-wanted.yml │ ├── remove-label-based-on-column.yml │ ├── rspec.yml │ ├── ruby_lint.yml │ ├── security.yml │ ├── spec_checker.yml │ ├── stale.yml │ ├── toc.yml │ └── yaml_lint.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierrc.yml ├── .rspec ├── .rspec_parallel ├── .rubocop.yml ├── .ruby-gemset ├── .ruby-version ├── .slugignore ├── .standard.yml ├── .standard_todo.yml ├── .tool-versions ├── .yamllint.yml ├── CONTRIBUTING.md ├── DEPLOY_CHECKLIST.md ├── Dockerfile ├── Gemfile ├── LICENSE.md ├── PROSOPITE_TODO.md ├── Procfile ├── Procfile.dev ├── README.md ├── Rakefile ├── SECURITY.md ├── app/ │ ├── assets/ │ │ ├── builds/ │ │ │ └── .keep │ │ ├── config/ │ │ │ └── manifest.js │ │ └── stylesheets/ │ │ ├── actiontext.css │ │ ├── android_app_associations.css │ │ ├── application.scss │ │ ├── base/ │ │ │ ├── breakpoints.scss │ │ │ └── variables.scss │ │ ├── pages/ │ │ │ ├── all_casa_admin_dashboard.scss │ │ │ ├── casa_cases.scss │ │ │ ├── casa_org.scss │ │ │ ├── case_contacts.scss │ │ │ ├── case_contacts_form.scss │ │ │ ├── case_court_reports.scss │ │ │ ├── court_dates.scss │ │ │ ├── emancipation.scss │ │ │ ├── feature_flags.scss │ │ │ ├── login.scss │ │ │ ├── password.scss │ │ │ ├── patch_notes.scss │ │ │ ├── reimbursements.scss │ │ │ ├── supervisors.scss │ │ │ └── volunteers.scss │ │ └── shared/ │ │ ├── dashboard.scss │ │ ├── data_tables_overide.scss │ │ ├── flashes.scss │ │ ├── footer.scss │ │ ├── form.scss │ │ ├── header.scss │ │ ├── layout.scss │ │ ├── navbar.scss │ │ ├── noscript.css │ │ ├── notifier.scss │ │ ├── select2_additional_styles.scss │ │ ├── sidebar.scss │ │ ├── tomselect_additional_styles.scss │ │ ├── truncated_text_component.scss │ │ ├── typography.scss │ │ ├── utilities.scss │ │ └── validated_form_component.scss │ ├── blueprints/ │ │ └── api/ │ │ └── v1/ │ │ └── session_blueprint.rb │ ├── callbacks/ │ │ └── case_contact_metadata_callback.rb │ ├── channels/ │ │ └── application_cable/ │ │ ├── channel.rb │ │ └── connection.rb │ ├── components/ │ │ ├── badge_component.html.erb │ │ ├── badge_component.rb │ │ ├── dropdown_menu_component.html.erb │ │ ├── dropdown_menu_component.rb │ │ ├── form/ │ │ │ ├── hour_minute_duration_component.html.erb │ │ │ ├── hour_minute_duration_component.rb │ │ │ ├── multiple_select/ │ │ │ │ ├── item_component.html.erb │ │ │ │ └── item_component.rb │ │ │ ├── multiple_select_component.html.erb │ │ │ └── multiple_select_component.rb │ │ ├── local_time_component.html.erb │ │ ├── local_time_component.rb │ │ ├── modal/ │ │ │ ├── body_component.html.erb │ │ │ ├── body_component.rb │ │ │ ├── footer_component.html.erb │ │ │ ├── footer_component.rb │ │ │ ├── group_component.html.erb │ │ │ ├── group_component.rb │ │ │ ├── header_component.html.erb │ │ │ ├── header_component.rb │ │ │ ├── open_button_component.html.erb │ │ │ ├── open_button_component.rb │ │ │ ├── open_link_component.html.erb │ │ │ └── open_link_component.rb │ │ ├── notification_component.html.erb │ │ ├── notification_component.rb │ │ ├── sidebar/ │ │ │ ├── group_component.html.erb │ │ │ ├── group_component.rb │ │ │ ├── link_component.html.erb │ │ │ └── link_component.rb │ │ ├── truncated_text_component.html.erb │ │ └── truncated_text_component.rb │ ├── controllers/ │ │ ├── additional_expenses_controller.rb │ │ ├── all_casa_admins/ │ │ │ ├── casa_admins_controller.rb │ │ │ ├── casa_orgs_controller.rb │ │ │ ├── dashboard_controller.rb │ │ │ ├── patch_notes_controller.rb │ │ │ └── sessions_controller.rb │ │ ├── all_casa_admins_controller.rb │ │ ├── android_app_associations_controller.rb │ │ ├── api/ │ │ │ └── v1/ │ │ │ ├── base_controller.rb │ │ │ └── users/ │ │ │ └── sessions_controller.rb │ │ ├── application_controller.rb │ │ ├── banners_controller.rb │ │ ├── bulk_court_dates_controller.rb │ │ ├── casa_admins_controller.rb │ │ ├── casa_cases_controller.rb │ │ ├── casa_org_controller.rb │ │ ├── case_assignments_controller.rb │ │ ├── case_contact_reports_controller.rb │ │ ├── case_contacts/ │ │ │ ├── case_contacts_new_design_controller.rb │ │ │ ├── followups_controller.rb │ │ │ └── form_controller.rb │ │ ├── case_contacts_controller.rb │ │ ├── case_court_orders_controller.rb │ │ ├── case_court_reports_controller.rb │ │ ├── case_groups_controller.rb │ │ ├── checklist_items_controller.rb │ │ ├── concerns/ │ │ │ ├── accessible.rb │ │ │ ├── court_date_params.rb │ │ │ ├── loads_case_contacts.rb │ │ │ ├── organizational.rb │ │ │ └── users/ │ │ │ └── time_zone.rb │ │ ├── contact_topic_answers_controller.rb │ │ ├── contact_topics_controller.rb │ │ ├── contact_type_groups_controller.rb │ │ ├── contact_types_controller.rb │ │ ├── court_dates_controller.rb │ │ ├── custom_org_links_controller.rb │ │ ├── dashboard_controller.rb │ │ ├── emancipation_checklists_controller.rb │ │ ├── emancipations_controller.rb │ │ ├── error_controller.rb │ │ ├── followup_reports_controller.rb │ │ ├── fund_requests_controller.rb │ │ ├── health_controller.rb │ │ ├── hearing_types_controller.rb │ │ ├── imports_controller.rb │ │ ├── judges_controller.rb │ │ ├── languages_controller.rb │ │ ├── learning_hour_topics_controller.rb │ │ ├── learning_hour_types_controller.rb │ │ ├── learning_hours/ │ │ │ └── volunteers_controller.rb │ │ ├── learning_hours_controller.rb │ │ ├── learning_hours_reports_controller.rb │ │ ├── mileage_rates_controller.rb │ │ ├── mileage_reports_controller.rb │ │ ├── missing_data_reports_controller.rb │ │ ├── notes_controller.rb │ │ ├── notifications_controller.rb │ │ ├── other_duties_controller.rb │ │ ├── placement_reports_controller.rb │ │ ├── placement_types_controller.rb │ │ ├── placements_controller.rb │ │ ├── preference_sets_controller.rb │ │ ├── reimbursements_controller.rb │ │ ├── reports_controller.rb │ │ ├── static_controller.rb │ │ ├── supervisor_volunteers_controller.rb │ │ ├── supervisors_controller.rb │ │ ├── users/ │ │ │ ├── invitations_controller.rb │ │ │ ├── passwords_controller.rb │ │ │ └── sessions_controller.rb │ │ ├── users_controller.rb │ │ └── volunteers_controller.rb │ ├── datatables/ │ │ ├── application_datatable.rb │ │ ├── case_contact_datatable.rb │ │ ├── reimbursement_datatable.rb │ │ ├── supervisor_datatable.rb │ │ └── volunteer_datatable.rb │ ├── decorators/ │ │ ├── android_app_association_decorator.rb │ │ ├── application_decorator.rb │ │ ├── casa_case_decorator.rb │ │ ├── case_assignment_decorator.rb │ │ ├── case_contact_decorator.rb │ │ ├── case_contacts/ │ │ │ └── form_decorator.rb │ │ ├── contact_type_decorator.rb │ │ ├── court_date_decorator.rb │ │ ├── learning_hour_decorator.rb │ │ ├── learning_hour_topic_decorator.rb │ │ ├── other_duty_decorator.rb │ │ ├── patch_note_decorator.rb │ │ ├── placement_decorator.rb │ │ ├── user_decorator.rb │ │ └── volunteer_decorator.rb │ ├── documents/ │ │ └── templates/ │ │ ├── default_report_template.docx │ │ ├── emancipation_checklist_template.docx │ │ ├── howard_county_report_template.docx │ │ ├── montgomery_report_template.docx │ │ ├── montgomery_report_template_062022.docx │ │ └── prince_george_report_template.docx │ ├── helpers/ │ │ ├── all_casa_admins/ │ │ │ └── casa_orgs_helper.rb │ │ ├── api_base_helper.rb │ │ ├── application_helper.rb │ │ ├── banner_helper.rb │ │ ├── case_contacts_helper.rb │ │ ├── contact_types_helper.rb │ │ ├── court_dates_helper.rb │ │ ├── court_orders_helper.rb │ │ ├── date_helper.rb │ │ ├── emancipations_helper.rb │ │ ├── followup_helper.rb │ │ ├── learning_hours_helper.rb │ │ ├── mileage_rates_helper.rb │ │ ├── notifications_helper.rb │ │ ├── other_duties_helper.rb │ │ ├── phone_number_helper.rb │ │ ├── preference_sets_helper.rb │ │ ├── report_helper.rb │ │ ├── request_header_helper.rb │ │ ├── sidebar_helper.rb │ │ ├── sms_body_helper.rb │ │ ├── template_helper.rb │ │ ├── ui_helper.rb │ │ └── volunteer_helper.rb │ ├── javascript/ │ │ ├── __mocks__/ │ │ │ ├── fileMock.js │ │ │ └── styleMock.js │ │ ├── __tests__/ │ │ │ ├── add_to_calendar_button.test.js │ │ │ ├── casa_case.test.js │ │ │ ├── case_button_states.test.js │ │ │ ├── case_contact.test.js │ │ │ ├── case_emancipations.test.js │ │ │ ├── dashboard.test.js │ │ │ ├── notifier.test.js │ │ │ ├── password_confirmation.test.js │ │ │ ├── read_more.test.js │ │ │ ├── require_communication_preference.test.js │ │ │ ├── setup-jest.js │ │ │ ├── time_zone.test.js │ │ │ ├── two_minute_warning_session_timeout.test.js │ │ │ ├── type_checker.test.js │ │ │ └── validated_form.test.js │ │ ├── all_casa_admin.js │ │ ├── application.js │ │ ├── controllers/ │ │ │ ├── alert_controller.js │ │ │ ├── application.js │ │ │ ├── autosave_controller.js │ │ │ ├── casa_nested_form_controller.js │ │ │ ├── case_contact_form_controller.js │ │ │ ├── court_order_form_controller.js │ │ │ ├── disable_form_controller.js │ │ │ ├── dismiss_controller.js │ │ │ ├── hello_controller.js │ │ │ ├── icon_toggle_controller.js │ │ │ ├── index.js │ │ │ ├── multiple_select_controller.js │ │ │ ├── navbar_controller.js │ │ │ ├── select_all_controller.js │ │ │ ├── sidebar_controller.js │ │ │ ├── sidebar_group_controller.js │ │ │ └── truncated_text_controller.js │ │ ├── datatable.js │ │ ├── jQueryGlobalizer.js │ │ ├── src/ │ │ │ ├── add_to_calendar_button.js │ │ │ ├── all_casa_admin/ │ │ │ │ ├── patch_notes.js │ │ │ │ └── tables.js │ │ │ ├── casa_case.js │ │ │ ├── casa_org.js │ │ │ ├── case_contact.js │ │ │ ├── case_emancipation.js │ │ │ ├── dashboard.js │ │ │ ├── display_app_metric.js │ │ │ ├── emancipations.js │ │ │ ├── import.js │ │ │ ├── learning_hours.js │ │ │ ├── new_casa_case.js │ │ │ ├── notifier.js │ │ │ ├── password_confirmation.js │ │ │ ├── read_more.js │ │ │ ├── reimbursements.js │ │ │ ├── reports.js │ │ │ ├── require_communication_preference.js │ │ │ ├── select.js │ │ │ ├── session_timeout_poller.js │ │ │ ├── sms_reactivation_toggle.js │ │ │ ├── time_zone.js │ │ │ ├── tooltip.js │ │ │ ├── type_checker.js │ │ │ └── validated_form.js │ │ └── sweet-alert-confirm.js │ ├── jobs/ │ │ └── application_job.rb │ ├── lib/ │ │ └── importers/ │ │ ├── case_importer.rb │ │ ├── file_importer.rb │ │ ├── supervisor_importer.rb │ │ └── volunteer_importer.rb │ ├── mailers/ │ │ ├── application_mailer.rb │ │ ├── casa_admin_mailer.rb │ │ ├── fund_request_mailer.rb │ │ ├── learning_hours_mailer.rb │ │ ├── supervisor_mailer.rb │ │ ├── user_mailer.rb │ │ └── volunteer_mailer.rb │ ├── models/ │ │ ├── additional_expense.rb │ │ ├── address.rb │ │ ├── all_casa_admin.rb │ │ ├── all_casa_admins/ │ │ │ └── casa_org_metrics.rb │ │ ├── api_credential.rb │ │ ├── application_record.rb │ │ ├── banner.rb │ │ ├── casa_admin.rb │ │ ├── casa_case.rb │ │ ├── casa_case_contact_type.rb │ │ ├── casa_case_emancipation_category.rb │ │ ├── casa_case_emancipation_option.rb │ │ ├── casa_org.rb │ │ ├── case_assignment.rb │ │ ├── case_contact.rb │ │ ├── case_contact_contact_type.rb │ │ ├── case_contact_report.rb │ │ ├── case_court_order.rb │ │ ├── case_court_report.rb │ │ ├── case_court_report_context.rb │ │ ├── case_group.rb │ │ ├── case_group_membership.rb │ │ ├── checklist_item.rb │ │ ├── concerns/ │ │ │ ├── CasaCase/ │ │ │ │ └── validations.rb │ │ │ ├── api.rb │ │ │ ├── by_organization_scope.rb │ │ │ └── roles.rb │ │ ├── contact_topic.rb │ │ ├── contact_topic_answer.rb │ │ ├── contact_type.rb │ │ ├── contact_type_group.rb │ │ ├── court_date.rb │ │ ├── custom_org_link.rb │ │ ├── emancipation_category.rb │ │ ├── emancipation_option.rb │ │ ├── followup.rb │ │ ├── fund_request.rb │ │ ├── health.rb │ │ ├── hearing_type.rb │ │ ├── judge.rb │ │ ├── language.rb │ │ ├── learning_hour.rb │ │ ├── learning_hour_topic.rb │ │ ├── learning_hour_type.rb │ │ ├── learning_hours_report.rb │ │ ├── login_activity.rb │ │ ├── mileage_rate.rb │ │ ├── mileage_report.rb │ │ ├── missing_data_report.rb │ │ ├── note.rb │ │ ├── other_duty.rb │ │ ├── patch_note.rb │ │ ├── patch_note_group.rb │ │ ├── patch_note_type.rb │ │ ├── placement.rb │ │ ├── placement_type.rb │ │ ├── preference_set.rb │ │ ├── sent_email.rb │ │ ├── sms_notification_event.rb │ │ ├── supervisor.rb │ │ ├── supervisor_volunteer.rb │ │ ├── user.rb │ │ ├── user_language.rb │ │ ├── user_reminder_time.rb │ │ ├── user_sms_notification_event.rb │ │ └── volunteer.rb │ ├── notifications/ │ │ ├── base_notifier.rb │ │ ├── delivery_methods/ │ │ │ └── sms.rb │ │ ├── emancipation_checklist_reminder_notifier.rb │ │ ├── followup_notifier.rb │ │ ├── followup_resolved_notifier.rb │ │ ├── reimbursement_complete_notifier.rb │ │ ├── volunteer_birthday_notifier.rb │ │ └── youth_birthday_notifier.rb │ ├── policies/ │ │ ├── additional_expense_policy.rb │ │ ├── application_policy.rb │ │ ├── bulk_court_date_policy.rb │ │ ├── casa_admin_policy.rb │ │ ├── casa_case_policy.rb │ │ ├── casa_org_policy.rb │ │ ├── case_assignment_policy.rb │ │ ├── case_contact_policy.rb │ │ ├── case_court_order_policy.rb │ │ ├── case_court_report_policy.rb │ │ ├── case_group_policy.rb │ │ ├── checklist_item_policy.rb │ │ ├── contact_topic_answer_policy.rb │ │ ├── contact_topic_policy.rb │ │ ├── contact_type_group_policy.rb │ │ ├── contact_type_policy.rb │ │ ├── court_date_policy.rb │ │ ├── custom_org_link_policy.rb │ │ ├── dashboard_policy.rb │ │ ├── followup_policy.rb │ │ ├── fund_request_policy.rb │ │ ├── hearing_type_policy.rb │ │ ├── import_policy.rb │ │ ├── judge_policy.rb │ │ ├── language_policy.rb │ │ ├── learning_hour_policy.rb │ │ ├── learning_hour_topic_policy.rb │ │ ├── learning_hour_type_policy.rb │ │ ├── nil_class_policy.rb │ │ ├── note_policy.rb │ │ ├── notification_policy.rb │ │ ├── other_duty_policy.rb │ │ ├── patch_note_policy.rb │ │ ├── placement_policy.rb │ │ ├── placement_type_policy.rb │ │ ├── reimbursement_policy.rb │ │ ├── supervisor_policy.rb │ │ ├── supervisor_volunteer_policy.rb │ │ ├── user_policy.rb │ │ └── volunteer_policy.rb │ ├── presenters/ │ │ ├── base_presenter.rb │ │ └── case_contact_presenter.rb │ ├── services/ │ │ ├── additional_expense_params_service.rb │ │ ├── backfill_followupable_service.rb │ │ ├── casa_case_change_service.rb │ │ ├── case_contacts_contact_dates.rb │ │ ├── case_contacts_export_csv_service.rb │ │ ├── court_report_due_sms_reminder_service.rb │ │ ├── court_report_format_contact_date.rb │ │ ├── create_all_casa_admin_service.rb │ │ ├── create_casa_admin_service.rb │ │ ├── deployment/ │ │ │ └── backfill_case_contact_started_metadata_service.rb │ │ ├── emancipation_checklist_download_html.rb │ │ ├── emancipation_checklist_reminder_service.rb │ │ ├── failed_import_csv_service.rb │ │ ├── fdf_inputs_service.rb │ │ ├── followup_export_csv_service.rb │ │ ├── followup_service.rb │ │ ├── inactive_messages_service.rb │ │ ├── learning_hours_export_csv_service.rb │ │ ├── mileage_export_csv_service.rb │ │ ├── missing_data_export_csv_service.rb │ │ ├── no_contact_made_sms_reminder_service.rb │ │ ├── placement_export_csv_service.rb │ │ ├── preference_set_table_state_service.rb │ │ ├── short_url_service.rb │ │ ├── sms_reminder_service.rb │ │ ├── svg_sanitizer_service.rb │ │ ├── twilio_service.rb │ │ ├── volunteer_birthday_reminder_service.rb │ │ └── volunteers_emails_export_csv_service.rb │ ├── validators/ │ │ ├── casa_org_validator.rb │ │ ├── court_report_validator.rb │ │ ├── url_validator.rb │ │ └── user_validator.rb │ ├── values/ │ │ ├── all_casa_admin_parameters.rb │ │ ├── banner_parameters.rb │ │ ├── casa_admin_parameters.rb │ │ ├── case_contact_parameters.rb │ │ ├── supervisor_parameters.rb │ │ ├── user_parameters.rb │ │ └── volunteer_parameters.rb │ └── views/ │ ├── active_storage/ │ │ └── blobs/ │ │ └── _blob.html.erb │ ├── all_casa_admins/ │ │ ├── casa_admins/ │ │ │ ├── _form.html.erb │ │ │ ├── edit.html.erb │ │ │ └── new.html.erb │ │ ├── casa_orgs/ │ │ │ ├── new.html.erb │ │ │ └── show.html.erb │ │ ├── dashboard/ │ │ │ └── show.html.erb │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ ├── passwords/ │ │ │ └── new.html.erb │ │ ├── patch_notes/ │ │ │ ├── _patch_note.html.erb │ │ │ ├── _patch_note.json.jbuilder │ │ │ ├── index.html.erb │ │ │ └── index.json.jbuilder │ │ ├── sessions/ │ │ │ └── new.html.erb │ │ └── shared/ │ │ └── _links.html.erb │ ├── banners/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── bulk_court_dates/ │ │ └── new.html.erb │ ├── casa_admin_mailer/ │ │ ├── account_setup.html.erb │ │ └── deactivation.html.erb │ ├── casa_admins/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── casa_cases/ │ │ ├── _calendar_button.html.erb │ │ ├── _court_dates.html.erb │ │ ├── _filter.html.erb │ │ ├── _form.html.erb │ │ ├── _generate_report_modal.html.erb │ │ ├── _inactive_case.html.erb │ │ ├── _placements.html.erb │ │ ├── _thank_you_modal.html.erb │ │ ├── _volunteer_assignment.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── show.xlsx.axlsx │ ├── casa_org/ │ │ ├── _contact_topics.html.erb │ │ ├── _contact_type_groups.html.erb │ │ ├── _contact_types.html.erb │ │ ├── _custom_org_links.html.erb │ │ ├── _hearing_types.html.erb │ │ ├── _judges.html.erb │ │ ├── _languages.html.erb │ │ ├── _learning_hour_topics.html.erb │ │ ├── _learning_hour_types.html.erb │ │ ├── _placement_types.html.erb │ │ ├── _sent_emails.html.erb │ │ └── edit.html.erb │ ├── case_assignments/ │ │ └── index.html.erb │ ├── case_contacts/ │ │ ├── _case_contact.html.erb │ │ ├── _confirm_note_content_dialog.html.erb │ │ ├── _followup.html.erb │ │ ├── case_contacts_new_design/ │ │ │ └── index.html.erb │ │ ├── drafts.html.erb │ │ ├── form/ │ │ │ ├── _contact_topic_answer.html.erb │ │ │ ├── _contact_types.html.erb │ │ │ └── details.html.erb │ │ └── index.html.erb │ ├── case_court_reports/ │ │ ├── _generate_docx.html.erb │ │ └── index.html.erb │ ├── case_groups/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── checklist_items/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── contact_topics/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── contact_type_groups/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── contact_types/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── court_dates/ │ │ ├── _fields.html.erb │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ └── show.html.erb │ ├── custom_org_links/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── devise/ │ │ ├── invitations/ │ │ │ ├── edit.html.erb │ │ │ └── new.html.erb │ │ ├── mailer/ │ │ │ ├── confirmation_instructions.html.erb │ │ │ ├── email_changed.html.erb │ │ │ ├── invitation_instructions.html.erb │ │ │ ├── invitation_instructions.text.erb │ │ │ ├── password_change.html.erb │ │ │ ├── reset_password_instructions.html.erb │ │ │ └── unlock_instructions.html.erb │ │ ├── passwords/ │ │ │ ├── edit.html.erb │ │ │ └── new.html.erb │ │ ├── sessions/ │ │ │ └── new.html.erb │ │ └── shared/ │ │ └── _links.html.erb │ ├── emancipation_checklists/ │ │ └── index.html.erb │ ├── emancipations/ │ │ ├── download.html.erb │ │ └── show.html.erb │ ├── error/ │ │ └── index.html.erb │ ├── fund_request_mailer/ │ │ └── send_request.html.erb │ ├── fund_requests/ │ │ └── new.html.erb │ ├── health/ │ │ └── index.html.erb │ ├── hearing_types/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── imports/ │ │ ├── _cases.html.erb │ │ ├── _csv_error_modal.html.erb │ │ ├── _sms_opt_in_modal.html.erb │ │ ├── _supervisors.html.erb │ │ ├── _volunteers.html.erb │ │ └── index.html.erb │ ├── judges/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── languages/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── layouts/ │ │ ├── _all_casa_admin_sidebar.html.erb │ │ ├── _banner.html.erb │ │ ├── _flash_messages.html.erb │ │ ├── _header.html.erb │ │ ├── _login_header.html.erb │ │ ├── _mobile_navbar.html.erb │ │ ├── _sidebar.html.erb │ │ ├── action_text/ │ │ │ └── contents/ │ │ │ └── _content.html.erb │ │ ├── application.html.erb │ │ ├── components/ │ │ │ └── _notifier.html.erb │ │ ├── devise.html.erb │ │ ├── footers/ │ │ │ ├── _logged_in.html.erb │ │ │ └── _not_logged_in.html.erb │ │ ├── fund_layout.html.erb │ │ ├── mailer.html.erb │ │ └── mailer.text.erb │ ├── learning_hour_topics/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── learning_hour_types/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── learning_hours/ │ │ ├── _confirm_note.html.erb │ │ ├── _form.html.erb │ │ ├── _learning_hours_table.html.erb │ │ ├── _supervisor_admin_learning_hours.html.erb │ │ ├── _volunteer_learning_hours.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ └── volunteers/ │ │ └── show.html.erb │ ├── learning_hours_mailer/ │ │ └── learning_hours_report_email.html.erb │ ├── mileage_rates/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── notes/ │ │ └── edit.html.erb │ ├── notifications/ │ │ ├── _notification.html.erb │ │ ├── _patch_notes.html.erb │ │ └── index.html.erb │ ├── other_duties/ │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── placement_types/ │ │ ├── _fields.html.erb │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── placements/ │ │ ├── _fields.html.erb │ │ ├── _form.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── new.html.erb │ │ └── show.html.erb │ ├── reimbursements/ │ │ ├── _datatable.html.erb │ │ ├── _filter_trigger.html.erb │ │ ├── _occurred_at_filter_input.html.erb │ │ ├── _reimbursement_complete.html.erb │ │ ├── _table.html.erb │ │ └── index.html.erb │ ├── reports/ │ │ ├── _filter.html.erb │ │ └── index.html.erb │ ├── shared/ │ │ ├── _additional_expense_form.html.erb │ │ ├── _court_order_form.html.erb │ │ ├── _court_order_list.erb │ │ ├── _edit_form.html.erb │ │ ├── _emancipation_link.html.erb │ │ ├── _error_messages.html.erb │ │ ├── _favicons.html.erb │ │ ├── _invite_login.html.erb │ │ └── _manage_volunteers.html.erb │ ├── static/ │ │ └── index.html.erb │ ├── supervisor_mailer/ │ │ ├── _active_volunteer_info.html.erb │ │ ├── _active_volunteers.html.erb │ │ ├── _additional_notes.html.erb │ │ ├── _no_recent_sign_in.html.erb │ │ ├── _pending_volunteers.html.erb │ │ ├── _recently_unassigned_volunteers.html.erb │ │ ├── _summary_header.html.erb │ │ ├── account_setup.html.erb │ │ ├── reimbursement_request_email.html.erb │ │ └── weekly_digest.html.erb │ ├── supervisors/ │ │ ├── _manage_active.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── user_mailer/ │ │ └── password_changed_reminder.html.erb │ ├── users/ │ │ ├── _edit_profile.erb │ │ ├── _languages.html.erb │ │ └── edit.html.erb │ ├── volunteer_mailer/ │ │ ├── account_setup.html.erb │ │ ├── case_contacts_reminder.html.erb │ │ └── court_report_reminder.html.erb │ └── volunteers/ │ ├── _form.html.erb │ ├── _manage_active.html.erb │ ├── _manage_cases.erb │ ├── _manage_supervisor.erb │ ├── _notes.html.erb │ ├── _send_reminder_button.html.erb │ ├── _volunteer_reminder_form.erb │ ├── edit.html.erb │ ├── index.html.erb │ └── new.html.erb ├── app.json ├── babel.config.js ├── bin/ │ ├── asset_bundling_scripts/ │ │ ├── build_js.js │ │ └── logger.js │ ├── brakeman │ ├── bundle │ ├── delayed_job │ ├── dev │ ├── git_hooks/ │ │ ├── README.md │ │ ├── build-assets │ │ ├── lint │ │ ├── logger │ │ ├── migrate-all │ │ ├── update-branch │ │ └── update-dependencies │ ├── lint │ ├── login │ ├── npm │ ├── rails │ ├── rake │ ├── rspec │ ├── setup │ ├── spring │ └── update ├── cc-test-reporter ├── code-of-conduct.md ├── config/ │ ├── application.rb │ ├── boot.rb │ ├── brakeman.ignore │ ├── cable.yml │ ├── credentials/ │ │ ├── development.key │ │ ├── development.yml.enc │ │ ├── production.yml.enc │ │ ├── qa.key │ │ ├── qa.yml.enc │ │ ├── test.key │ │ └── test.yml.enc │ ├── database.yml │ ├── docker.env │ ├── environment.rb │ ├── environments/ │ │ ├── development.rb │ │ ├── production.rb │ │ └── test.rb │ ├── initializers/ │ │ ├── after_party.rb │ │ ├── all_casa_admin_access.rb │ │ ├── application_controller_renderer.rb │ │ ├── assets.rb │ │ ├── authtrail.rb │ │ ├── backtrace_silencers.rb │ │ ├── blueprinter.rb │ │ ├── bugsnag.rb │ │ ├── content_security_policy.rb │ │ ├── cookies_serializer.rb │ │ ├── cors.rb │ │ ├── date_formats.rb │ │ ├── devise.rb │ │ ├── extensions.rb │ │ ├── filter_parameter_logging.rb │ │ ├── flipper.rb │ │ ├── generators.rb │ │ ├── inflections.rb │ │ ├── lograge.rb │ │ ├── mime_types.rb │ │ ├── pagy.rb │ │ ├── permissions_policy.rb │ │ ├── prosopite.rb │ │ ├── rack_attack.rb │ │ ├── rswag_api.rb │ │ ├── rswag_ui.rb │ │ ├── sent_email_event.rb │ │ ├── strong_migrations.rb │ │ └── wrap_parameters.rb │ ├── locales/ │ │ ├── devise.en.yml │ │ ├── devise_invitable.en.yml │ │ └── en.yml │ ├── puma.rb │ ├── routes.rb │ ├── scout_apm.yml │ ├── spring.rb │ └── storage.yml ├── config.ru ├── data/ │ └── inputs_fdf.erb ├── db/ │ ├── migrate/ │ │ ├── 20200329050100_create_casa_cases.rb │ │ ├── 20200329062155_devise_create_users.rb │ │ ├── 20200329064203_add_role_to_user.rb │ │ ├── 20200329071025_change_casa_case_teen_to_required.rb │ │ ├── 20200329071327_change_casa_case_number_to_required.rb │ │ ├── 20200329071626_add_unique_index_on_case_case_number.rb │ │ ├── 20200329074655_create_supervisor_volunteers.rb │ │ ├── 20200329081206_create_case_assignments.rb │ │ ├── 20200329085225_create_versions.rb │ │ ├── 20200329095031_create_casa_orgs.rb │ │ ├── 20200329095154_add_casa_org_to_user.rb │ │ ├── 20200329102102_devise_create_all_casa_admins.rb │ │ ├── 20200329175337_create_case_contacts.rb │ │ ├── 20200330231711_add_volunteer_reference_to_casa_cases.rb │ │ ├── 20200405112910_remove_volunteer_id_from_casa_case.rb │ │ ├── 20200420004403_add_medium_type_and_contact_made_to_case_contacts.rb │ │ ├── 20200422180727_replace_contact_type_with_contact_types_on_case_contact.rb │ │ ├── 20200423154018_change_teen_program_to_transition_aged_youth.rb │ │ ├── 20200423204147_add_name_to_user.rb │ │ ├── 20200525220759_add_driving_fields_to_case_contact.rb │ │ ├── 20200726185103_devise_invitable_add_to_users.rb │ │ ├── 20200729002247_add_casa_org_to_casa_case.rb │ │ ├── 20200801170524_add_type_to_user.rb │ │ ├── 20200801192923_remove_role_from_user.rb │ │ ├── 20200818220659_add_is_active_to_supervisor_volunteers.rb │ │ ├── 20200830011647_add_notes_to_case_contacts.rb │ │ ├── 20200905192934_remove_other_type_text_from_case_contacts.rb │ │ ├── 20200906145045_add_display_name_to_casa_orgs.rb │ │ ├── 20200906145725_add_address_to_casa_orgs.rb │ │ ├── 20200906145830_add_footer_links_to_casa_orgs.rb │ │ ├── 20200906150641_create_casa_org_logos.rb │ │ ├── 20200906184455_add_banner_color_to_casa_org_logos.rb │ │ ├── 20200907142411_create_task_records.rb │ │ ├── 20200917175655_add_default_value_to_case_contact_miles_driven.rb │ │ ├── 20200918115741_set_miles_driven_as_not_nullable.rb │ │ ├── 20200922144730_add_birth_month_year_youth_to_casa_cases.rb │ │ ├── 20200922150754_create_contact_type.rb │ │ ├── 20200922170308_link_case_contacts_to_contact_types.rb │ │ ├── 20200924192310_create_casa_case_contact_type.rb │ │ ├── 20200925180941_add_active_to_contact_type_groups.rb │ │ ├── 20200925181042_add_active_to_contact_types.rb │ │ ├── 20200928233606_add_court_report_submitted_to_casa_cases.rb │ │ ├── 20201002192636_add_court_date_to_casa_cases.rb │ │ ├── 20201004165322_add_court_report_due_date_to_casa_cases.rb │ │ ├── 20201005191326_create_hearing_types.rb │ │ ├── 20201013171632_remove_contact_types_from_case_contacts.rb │ │ ├── 20201019120548_create_active_storage_tables.active_storage.rb │ │ ├── 20201020095451_add_hearing_type_to_court_cases.rb │ │ ├── 20201020220412_create_emancipation_categories.rb │ │ ├── 20201021024459_create_emancipation_options.rb │ │ ├── 20201021034012_create_join_table_casa_cases_emancipaton_options.rb │ │ ├── 20201021143642_add_active_column_to_casa_cases_table.rb │ │ ├── 20201022034445_add_foreign_key_constraints_to_case_emancipation_join_table.rb │ │ ├── 20201023233638_create_judges.rb │ │ ├── 20201023234325_add_active_to_judge.rb │ │ ├── 20201024003821_add_name_to_judge.rb │ │ ├── 20201024113046_create_past_court_dates.rb │ │ ├── 20201025162142_add_judge_to_court_cases.rb │ │ ├── 20201108142333_add_court_report_status_to_casa_cases.rb │ │ ├── 20201120103041_remove_remember_created_at_from_users.rb │ │ ├── 20201120103146_remove_remember_created_at_from_all_casa_admins.rb │ │ ├── 20201120215756_remove_court_report_submitted_from_casa_cases.rb │ │ ├── 20201123100716_remove_case_number_index_from_casa_cases.rb │ │ ├── 20201123112651_add_case_number_index_scoped_by_casa_org_to_casa_cases.rb │ │ ├── 20201222125441_add_service_name_to_active_storage_blobs.active_storage.rb │ │ ├── 20201222125442_create_active_storage_variant_records.active_storage.rb │ │ ├── 20201226024029_create_casa_case_emancipation_categories.rb │ │ ├── 20210105155534_create_followups.rb │ │ ├── 20210107181908_add_id_and_timestamps_to_case_emancipation_options_table.rb │ │ ├── 20210109231411_drop_casa_org_logos_table.rb │ │ ├── 20210117185614_create_notifications.rb │ │ ├── 20210223133248_create_case_court_mandates.rb │ │ ├── 20210308195135_change_is_active_name.rb │ │ ├── 20210330182538_add_devise_trackable_columns_to_users.rb │ │ ├── 20210401161710_add_deleted_at_to_case_contacts.rb │ │ ├── 20210401182359_add_implementation_status_to_edit_case_court_mandates.rb │ │ ├── 20210502172706_add_devise_invitable_to_all_casa_admins.rb │ │ ├── 20210521151549_add_casa_case_details_to_past_court_dates.rb │ │ ├── 20210521194321_add_past_court_date_to_case_court_mandates.rb │ │ ├── 20210526233058_create_sent_emails.rb │ │ ├── 20210624125750_add_note_to_followups.rb │ │ ├── 20210913142024_set_display_name_as_not_nullable.rb │ │ ├── 20210925140028_add_slug_to_casa_orgs_and_casa_cases.rb │ │ ├── 20211001204053_rename_court_mandates_to_court_orders.rb │ │ ├── 20211007144114_add_show_driving_reimbursement_to_casa_orgs.rb │ │ ├── 20211008170357_add_text_to_case_court_orders.rb │ │ ├── 20211008170724_migrate_case_court_orders_mandate_text_to_text.rb │ │ ├── 20211008174527_remove_mandate_text_from_case_court_orders.rb │ │ ├── 20211011195857_rename_past_court_date_to_court_date.rb │ │ ├── 20211012180102_change_casa_cases_court_date_to_reference.rb │ │ ├── 20211023165907_add_reimbursement_complete_to_case_contacts.rb │ │ ├── 20211024011923_create_mileage_rates.rb │ │ ├── 20211024060815_create_preference_sets.rb │ │ ├── 20211025143709_create_healths.rb │ │ ├── 20211029032305_add_casa_org_to_mileage_rate.rb │ │ ├── 20211029033530_remove_user_required_from_mileage_rate.rb │ │ ├── 20211203181342_create_additional_expenses.rb │ │ ├── 20211230033457_create_delayed_jobs.rb │ │ ├── 20220105030922_create_feature_flags.rb │ │ ├── 20220127055733_create_notes.rb │ │ ├── 20220223035901_remove_null_check_deprecated_field.rb │ │ ├── 20220226040507_create_fund_request.rb │ │ ├── 20220303183053_create_other_duty.rb │ │ ├── 20220323145733_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb │ │ ├── 20220324141758_create_learning_hours.rb │ │ ├── 20220402201247_add_phone_number_to_users.rb │ │ ├── 20220406011016_add_sms_notification_preferences_to_users.rb │ │ ├── 20220406011144_add_email_notification_preferences_to_users.rb │ │ ├── 20220409184741_add_fund_request.rb │ │ ├── 20220411180242_add_uniqueness_constraint_to_feature_flag_name.rb │ │ ├── 20220509224425_add_columns_to_casa_orgs.rb │ │ ├── 20220513084954_add_date_in_care_to_casa_cases.rb │ │ ├── 20220513111133_delete_versions.rb │ │ ├── 20220519210423_create_sms_notification_events.rb │ │ ├── 20220519233803_create_user_sms_notification_events.rb │ │ ├── 20220526011848_create_user_reminder_times.rb │ │ ├── 20220602215632_create_addresses.rb │ │ ├── 20220607184910_add_hide_old_contacts_to_case_assignment.rb │ │ ├── 20220610221701_create_checklist_items.rb │ │ ├── 20220615015056_create_patch_note_types.rb │ │ ├── 20220616021404_add_checklist_updated_date_to_hearing_types.rb │ │ ├── 20220618042137_create_patch_note_groups.rb │ │ ├── 20220622022147_create_patch_notes.rb │ │ ├── 20220820231119_create_languages.rb │ │ ├── 20220826130829_create_languages_users_join_table.rb │ │ ├── 20220924181447_remove_all_empty_languages.rb │ │ ├── 20221002103627_add_user_foreign_key_to_other_duties.rb │ │ ├── 20221002103754_validate_add_user_foreign_key_to_other_duties.rb │ │ ├── 20221003202112_add_court_report_due_date_to_court_dates.rb │ │ ├── 20221011044911_add_user_languages.rb │ │ ├── 20221012203806_populate_user_languages_from_languages_users.rb │ │ ├── 20230121174227_remove_court_data_from_casa_cases.rb │ │ ├── 20230220210146_add_phone_number_to_all_casa_admin_resource.rb │ │ ├── 20230316152808_remove_phone_number_from_all_casa_admin_resource.rb │ │ ├── 20230326225216_create_placement_types.rb │ │ ├── 20230326225230_create_placements.rb │ │ ├── 20230327154626_add_confirmable_to_users.rb │ │ ├── 20230327155053_add_email_confirmation_and_old_emails_to_users.rb │ │ ├── 20230405202939_remove_email_confirmation_from_users.rb │ │ ├── 20230412103356_add_casa_case_to_placements.rb │ │ ├── 20230420212437_add_table_columns_display_to_preference_set.rb │ │ ├── 20230610153139_add_receive_reimbursement_email_to_users.rb │ │ ├── 20230615155223_add_twilio_enabled_to_casa_orgs.rb │ │ ├── 20230621161252_add_additional_expenses_to_casa_orgs.rb │ │ ├── 20230627210040_add_allow_reimbursement_to_case_assignments.rb │ │ ├── 20230704123327_add_foreign_key_constraints_to_mileage_rates.rb │ │ ├── 20230710025852_add_token_to_users.rb │ │ ├── 20230712080040_add_foreign_key_creator_id_to_note.rb │ │ ├── 20230728135743_create_action_text_tables.action_text.rb │ │ ├── 20230728140249_create_banners.rb │ │ ├── 20230729143126_create_learning_hour_types.rb │ │ ├── 20230729145310_add_reference_learning_hour_types.rb │ │ ├── 20230729145351_add_foreign_key_learning_hour_types.rb │ │ ├── 20230729145419_validate_foreign_key_learning_hour_types.rb │ │ ├── 20230729154529_create_case_groups.rb │ │ ├── 20230729154545_create_case_group_memberships.rb │ │ ├── 20230729213608_remove_hearing_type_id_and_judge_id_from_casa_cases.rb │ │ ├── 20230730103110_remove_learning_type.rb │ │ ├── 20230809002819_drop_languages_users.rb │ │ ├── 20230817144910_create_learning_hour_topics.rb │ │ ├── 20230819124840_add_learning_hour_topic_id_to_learning_hour.rb │ │ ├── 20230819132316_add_learning_topic_active_to_casa_org.rb │ │ ├── 20230822152341_drop_jwt_denylist_table.rb │ │ ├── 20230902021531_add_monthly_learning_hours_report_to_user.rb │ │ ├── 20230903182657_add_foreign_key_casa_case_to_placement.rb │ │ ├── 20231102181027_add_birthdays_to_users.rb │ │ ├── 20231125150721_status_for_case_contacts.rb │ │ ├── 20240216013254_add_contact_topics.rb │ │ ├── 20240415160842_add_followupable_to_followups.rb │ │ ├── 20240507022441_create_login_activities.rb │ │ ├── 20240509104733_create_noticed_tables.noticed.rb │ │ ├── 20240509104734_add_notifications_count_to_noticed_event.noticed.rb │ │ ├── 20240531172823_add_expires_at_to_banner.rb │ │ ├── 20240610071054_add_other_duties_enabled_to_casa_org.rb │ │ ├── 20240621165358_create_flipper_tables.rb │ │ ├── 20240622020203_drop_feature_flags.rb │ │ ├── 20240716194609_add_metadata_to_case_contacts.rb │ │ ├── 20241017050129_remove_contact_topic_answer_contact_topic_id_null_constraint.rb │ │ ├── 20250207080433_remove_token_from_users.rb │ │ ├── 20250207080511_create_api_credentials.rb │ │ ├── 20250208160513_remove_plain_text_tokens_from_api_credentials.rb │ │ ├── 20250331032424_validate_constraint_mileage_rates.rb │ │ ├── 20250331033339_validate_constraint_notes.rb │ │ ├── 20250331033350_validate_constraint_placements.rb │ │ ├── 20250331033418_remove_duplicate_indexindex_emancipation_options_on_emancipation_category_id.rb │ │ ├── 20250331033441_remove_duplicate_indexindex_user_languages_on_language_id.rb │ │ ├── 20250404200715_create_custom_org_links.rb │ │ ├── 20250507011754_remove_unused_indexes.rb │ │ ├── 20250528092341_trim_whitespace_from_custom_org_links.rb │ │ ├── 20250702142004_add_exclude_from_court_report_to_contact_topics.rb │ │ ├── 20260210233737_rename_casa_cases_emancipaton_options_to_casa_case_emancipaton_options.rb │ │ ├── 20260211001655_rename_casa_cases_emancipaton_options_to_casa_case_emancipaton_options_follow_up.rb │ │ └── 20260414132818_add_deleted_at_to_contact_topic_answers.rb │ ├── schema.rb │ ├── seeds/ │ │ ├── api_credential_data.rb │ │ ├── casa_org_populator_presets.rb │ │ ├── db_populator.rb │ │ ├── default_contact_topics.yml │ │ ├── emancipation_data.rb │ │ ├── emancipation_options_prune.rb │ │ ├── patch_note_group_data.rb │ │ ├── patch_note_type_data.rb │ │ └── placement_data.rb │ └── seeds.rb ├── doc/ │ ├── API.md │ ├── CONTRIBUTING.md │ ├── DOCKER.md │ ├── LINUX_SETUP.md │ ├── MAC_SETUP.md │ ├── NIX_SETUP.md │ ├── SECURITY.md │ ├── WSL_SETUP.md │ ├── architecture-decisions/ │ │ ├── 0001-record-architecture-decisions.md │ │ ├── 0002-disallow-ui-sign-ups.md │ │ ├── 0003-multiple-user-tables.md │ │ ├── 0004-use-bootstrap.md │ │ ├── 0005-android-app-as-a-pwa.md │ │ ├── 0006-few-controller-tests.md │ │ ├── 0007-inline-css-for-email-views.md │ │ └── 0008-controller-specs.txt │ ├── casa_db_diagram_patch_notes.kra │ ├── code-of-conduct.md │ ├── db_diagram_schema_code/ │ │ ├── part_1.txt │ │ └── part_2.txt │ └── productsense.md ├── docker/ │ ├── brakeman │ ├── build │ ├── build-assets │ ├── build-log │ ├── console │ ├── nuke │ ├── nukec │ ├── run │ ├── sandbox │ ├── seed │ ├── server │ ├── server-log │ ├── test │ └── test-log ├── docker-compose.yml ├── docker-entrypoint.sh ├── flake.nix ├── gemset.nix ├── jest.config.js ├── lib/ │ ├── assets/ │ │ └── .keep │ ├── ext/ │ │ └── pdf_forms.rb │ ├── generators/ │ │ └── rails/ │ │ └── policy/ │ │ ├── USAGE │ │ ├── policy_generator.rb │ │ └── templates/ │ │ ├── policy.rb.tt │ │ └── policy_spec.rb.tt │ ├── mailers/ │ │ ├── debug_preview_mailer.rb │ │ └── previews/ │ │ ├── casa_admin_mailer_preview.rb │ │ ├── concerns/ │ │ │ └── mailer_preview.rb │ │ ├── devise_mailer_preview.rb │ │ ├── fund_request_mailer_preview.rb │ │ ├── learning_hours_mailer_preview.rb │ │ ├── supervisor_mailer_preview.rb │ │ └── volunteer_mailer_preview.rb │ └── tasks/ │ ├── auto_annotate_models.rake │ ├── case_contact_types_reminder.rb │ ├── check_controller_tests.rake │ ├── court_report_due_reminder.rake │ ├── data_post_processors/ │ │ ├── case_contact_populator.rb │ │ ├── contact_topic_populator.rb │ │ ├── contact_type_populator.rb │ │ └── sms_notification_event_populator.rb │ ├── deployment/ │ │ ├── 20200913155303_populate_missing_display_names.rake │ │ ├── 20201005203140_populate_contact_type_groups_and_contact_types.rake │ │ ├── 20201005203405_populate_case_contact_contact_type.rake │ │ ├── 20201210004047_populate_emancipation_data.rake │ │ ├── 20201215183231_emancipation_category_options.rake │ │ ├── 20210415012736_task_name.rake │ │ ├── 20210507200644_fix_transition_aged_youth_for_nil_birth_month_year_youth.rake │ │ ├── 20210811052058_update_montgomery_court_report_template.rake │ │ ├── 20210925143244_populate_slugs_for_orgs_and_cases.rake │ │ ├── 20220409174149_enable_feature_flag_prince_george_fund_request.rake │ │ ├── 20220521015108_populate_sms_notification_events.rake │ │ ├── 20220615020226_create_initial_patch_note_types.rake │ │ ├── 20220629015841_update_montgomery_court_report_template.rake │ │ ├── 20220902180609_populate_languages.rake │ │ ├── 20221003224029_migrate_court_report_due_date_to_court_dates.rake │ │ ├── 20221009032756_add_medium_type_to_howard_court_report_template.rake │ │ ├── 20221104005957_create_initial_patch_note_groups.rake │ │ ├── 20230110000515_update_howard_court_report_template.rake │ │ ├── 20230114184424_update_howard_court_report_temp2.rake │ │ ├── 20230114184852_update_howard_court_report_temp3.rake │ │ ├── 20230208031806_update_howard_court_report_temp4.rake │ │ ├── 20230409222823_add_confrimation_to_existing_users.rake │ │ ├── 20230419224330_backfill_user_prefernce_sets.rake │ │ ├── 20230720000759_update_howard_court_report_fix.rake │ │ ├── 20231125151610_set_case_contacts_as_active.rake │ │ ├── 20240416171009_backfill_followup_followupable_id_and_type_from_case_contact_id.rake │ │ ├── 20240420230126_update_org_templates.rake │ │ ├── 20240604121427_migrate_notifications.rake │ │ ├── 20240720232939_backfill_case_contact_started_metadata.rake │ │ ├── 20250226015042_populate_new_api_and_refresh_token.rake │ │ └── 99991023145114_store_deploy_time.rake │ ├── development/ │ │ └── notifications.rake │ ├── emancipation_checklist_reminder.rake │ ├── example_recurring_task.rb │ ├── lint_factory_bot.rake │ ├── monthly_learning_hours_report.rake │ ├── no_contact_made_reminder.rb │ ├── post_gc_stat_to_discord.rake │ ├── recurring_jobs.rake │ ├── scheduler.rake │ ├── send_case_contact_types_reminder.rake │ ├── send_no_contact_made_reminder.rake │ ├── send_supervisor_digest.rake │ ├── supervisor_weekly_digest.rb │ ├── test_checker.rake │ ├── volunteer_birthday_reminder.rake │ └── youth_birthday_reminder.rake ├── log/ │ └── .keep ├── noop ├── package.json ├── postcss.config.js ├── public/ │ ├── 403.html │ ├── 404.html │ ├── 406-unsupported-browser.html │ ├── 422.html │ ├── 500.html │ ├── assets/ │ │ ├── css/ │ │ │ ├── lineicons.css │ │ │ └── main.css │ │ └── scss/ │ │ ├── _common.scss │ │ ├── _default.scss │ │ ├── _mixin.scss │ │ ├── _sidebar.scss │ │ ├── _variables.scss │ │ ├── alerts/ │ │ │ └── _alerts.scss │ │ ├── auth/ │ │ │ ├── _signin.scss │ │ │ └── _signup.scss │ │ ├── buttons/ │ │ │ └── _buttons.scss │ │ ├── calendar/ │ │ │ └── _calendar.scss │ │ ├── cards/ │ │ │ └── _cards.scss │ │ ├── dashboards/ │ │ │ └── _dashboards.scss │ │ ├── forms/ │ │ │ └── _form-elements.scss │ │ ├── header/ │ │ │ └── _header.scss │ │ ├── icons/ │ │ │ └── _icons.scss │ │ ├── invoice/ │ │ │ └── _invoice.scss │ │ ├── main.scss │ │ ├── notification/ │ │ │ └── _notification.scss │ │ ├── settings/ │ │ │ └── _settings.scss │ │ ├── tables/ │ │ │ └── _tables.scss │ │ └── typography/ │ │ └── _typography.scss │ ├── casa_cases.csv │ ├── robots.txt │ ├── sms-terms-conditions.html │ ├── supervisors.csv │ └── volunteers.csv ├── scripts/ │ ├── generate_github_issues_for_missing_spec.rb │ └── import_casa_case_date_of_birth.rb ├── spec/ │ ├── .prosopite_ignore │ ├── blueprints/ │ │ └── api/ │ │ └── v1/ │ │ └── session_blueprint_spec.rb │ ├── callbacks/ │ │ └── case_contact_metadata_callback_spec.rb │ ├── channels/ │ │ └── application_cable/ │ │ ├── channel_spec.rb │ │ └── connection_spec.rb │ ├── components/ │ │ ├── badge_component_spec.rb │ │ ├── dropdown_menu_component_spec.rb │ │ ├── form/ │ │ │ ├── hour_minute_duration_component_spec.rb │ │ │ ├── multiple_select/ │ │ │ │ └── item_component_spec.rb │ │ │ └── multiple_select_component_spec.rb │ │ ├── local_time_component_spec.rb │ │ ├── modal/ │ │ │ ├── body_component_spec.rb │ │ │ ├── footer_component_spec.rb │ │ │ ├── group_component_spec.rb │ │ │ ├── header_component_spec.rb │ │ │ ├── open_button_component_spec.rb │ │ │ └── open_link_component_spec.rb │ │ ├── notification_component_spec.rb │ │ ├── previews/ │ │ │ └── truncated_text_component_preview.rb │ │ ├── sidebar/ │ │ │ ├── group_component_spec.rb │ │ │ └── link_component_spec.rb │ │ └── truncated_text_component_spec.rb │ ├── config/ │ │ └── initializers/ │ │ └── rack_attack_spec.rb │ ├── controllers/ │ │ ├── README.md │ │ ├── application_controller_spec.rb │ │ ├── concerns/ │ │ │ ├── accessible_spec.rb │ │ │ ├── court_date_params_spec.rb │ │ │ ├── loads_case_contacts_spec.rb │ │ │ ├── organizational_spec.rb │ │ │ └── users/ │ │ │ └── time_zone_spec.rb │ │ ├── emancipations_controller_spec.rb │ │ ├── learning_hours/ │ │ │ └── volunteers_controller_spec.rb │ │ └── users/ │ │ └── sessions_controller_spec.rb │ ├── datatables/ │ │ ├── application_datatable_spec.rb │ │ ├── case_contact_datatable_spec.rb │ │ ├── reimbursement_datatable_spec.rb │ │ ├── supervisor_datatable_spec.rb │ │ └── volunteer_datatable_spec.rb │ ├── decorators/ │ │ ├── android_app_association_decorator_spec.rb │ │ ├── application_decorator_spec.rb │ │ ├── casa_case_decorator_spec.rb │ │ ├── case_assignment_decorator_spec.rb │ │ ├── case_contact_decorator_spec.rb │ │ ├── case_contacts/ │ │ │ └── form_decorator_spec.rb │ │ ├── contact_type_decorator_spec.rb │ │ ├── court_date_decorator_spec.rb │ │ ├── learning_hour_decorator_spec.rb │ │ ├── learning_hour_topic_decorator_spec.rb │ │ ├── other_duty_decorator_spec.rb │ │ ├── patch_note_decorator_spec.rb │ │ ├── placement_decorator_spec.rb │ │ ├── user_decorator_spec.rb │ │ └── volunteer_decorator_spec.rb │ ├── documents/ │ │ └── templates/ │ │ └── prince_george_report_template_spec.rb │ ├── factories/ │ │ ├── additional_expenses.rb │ │ ├── addresses.rb │ │ ├── all_casa_admins.rb │ │ ├── api_credential.rb │ │ ├── banners.rb │ │ ├── casa_admins.rb │ │ ├── casa_case_contact_types.rb │ │ ├── casa_case_emancipation_categories.rb │ │ ├── casa_case_emancipation_options.rb │ │ ├── casa_cases.rb │ │ ├── casa_orgs.rb │ │ ├── case_assignments.rb │ │ ├── case_contact_contact_type.rb │ │ ├── case_contacts.rb │ │ ├── case_court_orders.rb │ │ ├── case_court_report_context.rb │ │ ├── case_group_memberships.rb │ │ ├── case_groups.rb │ │ ├── checklist_items.rb │ │ ├── contact_topic_answers.rb │ │ ├── contact_topics.rb │ │ ├── contact_type_group.rb │ │ ├── contact_types.rb │ │ ├── court_dates.rb │ │ ├── custom_org_links.rb │ │ ├── emancipation_categories.rb │ │ ├── emancipation_options.rb │ │ ├── followups.rb │ │ ├── fund_requests.rb │ │ ├── healths.rb │ │ ├── hearing_types.rb │ │ ├── judges.rb │ │ ├── languages.rb │ │ ├── learning_hour_topics.rb │ │ ├── learning_hour_types.rb │ │ ├── learning_hours.rb │ │ ├── login_activities.rb │ │ ├── mileage_rates.rb │ │ ├── notes.rb │ │ ├── notifications.rb │ │ ├── notifiers.rb │ │ ├── other_duty.rb │ │ ├── patch_note_groups.rb │ │ ├── patch_note_types.rb │ │ ├── patch_notes.rb │ │ ├── placement_types.rb │ │ ├── placements.rb │ │ ├── preference_sets.rb │ │ ├── sent_emails.rb │ │ ├── sms_notification_events.rb │ │ ├── supervisor_volunteer.rb │ │ ├── supervisors.rb │ │ ├── user_languages.rb │ │ ├── user_reminder_time.rb │ │ ├── user_sms_notification_events.rb │ │ ├── users.rb │ │ └── volunteers.rb │ ├── fixtures/ │ │ └── files/ │ │ ├── casa_cases.csv │ │ ├── casa_cases_without_case_number.csv │ │ ├── default_past_court_date_template.docx │ │ ├── existing_casa_case.csv │ │ ├── generic.csv │ │ ├── no_rows.csv │ │ ├── sample_report.docx │ │ ├── supervisor_volunteers.csv │ │ ├── supervisors.csv │ │ ├── supervisors_invalid_phone_numbers.csv │ │ ├── supervisors_without_display_names.csv │ │ ├── supervisors_without_email.csv │ │ ├── supervisors_without_phone_numbers.csv │ │ ├── volunteers.csv │ │ ├── volunteers_invalid_phone_numbers.csv │ │ ├── volunteers_without_display_names.csv │ │ ├── volunteers_without_email.csv │ │ └── volunteers_without_phone_numbers.csv │ ├── helpers/ │ │ ├── all_casa_admins/ │ │ │ └── casa_orgs_helper_spec.rb │ │ ├── api_base_helper_spec.rb │ │ ├── application_helper_spec.rb │ │ ├── banner_helper_spec.rb │ │ ├── case_contacts_helper_spec.rb │ │ ├── contact_types_helper_spec.rb │ │ ├── court_dates_helper_spec.rb │ │ ├── court_orders_helper_spec.rb │ │ ├── date_helper_spec.rb │ │ ├── emancipations_helper_spec.rb │ │ ├── followup_helper_spec.rb │ │ ├── learning_hours_helper_spec.rb │ │ ├── mileage_rates_helper_spec.rb │ │ ├── notifications_helper_spec.rb │ │ ├── other_duties_helper_spec.rb │ │ ├── phone_number_helper_spec.rb │ │ ├── preference_sets_helper_spec.rb │ │ ├── report_helper_spec.rb │ │ ├── request_header_helper_spec.rb │ │ ├── sidebar_helper_spec.rb │ │ ├── sms_body_helper_spec.rb │ │ ├── template_helper_spec.rb │ │ ├── ui_helper_spec.rb │ │ └── volunteer_helper_spec.rb │ ├── jobs/ │ │ └── application_job_spec.rb │ ├── lib/ │ │ ├── importers/ │ │ │ ├── case_importer_spec.rb │ │ │ ├── file_importer_spec.rb │ │ │ ├── supervisor_importer_spec.rb │ │ │ └── volunteer_importer_spec.rb │ │ └── tasks/ │ │ ├── case_contact_types_reminder_spec.rb │ │ ├── data_post_processors/ │ │ │ ├── case_contact_populator_spec.rb │ │ │ ├── contact_topic_populator_spec.rb │ │ │ └── contact_type_populator_spec.rb │ │ ├── no_contact_made_reminder_spec.rb │ │ └── supervisor_weekly_digest_spec.rb │ ├── mailers/ │ │ ├── application_mailer_spec.rb │ │ ├── casa_admin_mailer_spec.rb │ │ ├── fund_request_mailer_spec.rb │ │ ├── learning_hours_mailer_spec.rb │ │ ├── previews/ │ │ │ ├── casa_admin_mailer_preview_spec.rb │ │ │ ├── devise_mailer_preview_spec.rb │ │ │ ├── supervisor_mailer_preview_spec.rb │ │ │ └── volunteer_mailer_preview_spec.rb │ │ ├── supervisor_mailer_spec.rb │ │ ├── user_mailer_spec.rb │ │ └── volunteer_mailer_spec.rb │ ├── models/ │ │ ├── acts_as_paranoid_spec.rb │ │ ├── additional_expense_spec.rb │ │ ├── address_spec.rb │ │ ├── all_casa_admin_spec.rb │ │ ├── all_casa_admins/ │ │ │ └── casa_org_metrics_spec.rb │ │ ├── api_credential_spec.rb │ │ ├── application_record_spec.rb │ │ ├── banner_spec.rb │ │ ├── casa_admin_spec.rb │ │ ├── casa_case_contact_type_spec.rb │ │ ├── casa_case_emancipation_category_spec.rb │ │ ├── casa_case_emancipation_option_spec.rb │ │ ├── casa_case_spec.rb │ │ ├── casa_org_spec.rb │ │ ├── case_assignment_spec.rb │ │ ├── case_contact_contact_type_spec.rb │ │ ├── case_contact_report_spec.rb │ │ ├── case_contact_spec.rb │ │ ├── case_court_order_spec.rb │ │ ├── case_court_report_context_spec.rb │ │ ├── case_court_report_spec.rb │ │ ├── case_group_membership_spec.rb │ │ ├── case_group_spec.rb │ │ ├── checklist_item_spec.rb │ │ ├── concerns/ │ │ │ ├── CasaCase/ │ │ │ │ └── validations_spec.rb │ │ │ ├── api_spec.rb │ │ │ ├── by_organization_scope_spec.rb │ │ │ └── roles_spec.rb │ │ ├── contact_topic_answer_spec.rb │ │ ├── contact_topic_spec.rb │ │ ├── contact_type_group_spec.rb │ │ ├── contact_type_spec.rb │ │ ├── court_date_spec.rb │ │ ├── custom_org_link_spec.rb │ │ ├── emancipation_category_spec.rb │ │ ├── emancipation_option_spec.rb │ │ ├── followup_spec.rb │ │ ├── fund_request_spec.rb │ │ ├── health_spec.rb │ │ ├── hearing_type_spec.rb │ │ ├── judge_spec.rb │ │ ├── language_spec.rb │ │ ├── learning_hour_spec.rb │ │ ├── learning_hour_topic_spec.rb │ │ ├── learning_hour_type_spec.rb │ │ ├── learning_hours_report_spec.rb │ │ ├── login_activity_spec.rb │ │ ├── mileage_rate_spec.rb │ │ ├── mileage_report_spec.rb │ │ ├── missing_data_report_spec.rb │ │ ├── note_spec.rb │ │ ├── other_duty_spec.rb │ │ ├── patch_note_group_spec.rb │ │ ├── patch_note_spec.rb │ │ ├── patch_note_type_spec.rb │ │ ├── placement_spec.rb │ │ ├── placement_type_spec.rb │ │ ├── preference_set_spec.rb │ │ ├── sent_email_spec.rb │ │ ├── sms_notification_event_spec.rb │ │ ├── soft_deleted_model_shared_example_coverage_spec.rb │ │ ├── supervisor_spec.rb │ │ ├── supervisor_volunteer_spec.rb │ │ ├── user_language_spec.rb │ │ ├── user_reminder_time.rb │ │ ├── user_sms_notification_event_spec.rb │ │ ├── user_spec.rb │ │ └── volunteer_spec.rb │ ├── notifications/ │ │ ├── base_notifier_spec.rb │ │ ├── delivery_methods/ │ │ │ └── sms_spec.rb │ │ ├── emancipation_checklist_reminder_notifier_spec.rb │ │ ├── followup_notifier_spec.rb │ │ ├── followup_resolved_notifier_spec.rb │ │ ├── reimbursement_complete_notifier_spec.rb │ │ ├── volunteer_birthday_notifier_spec.rb │ │ └── youth_birthday_notifier_spec.rb │ ├── policies/ │ │ ├── additional_expense_policy_spec.rb │ │ ├── application_policy_spec.rb │ │ ├── bulk_court_date_policy_spec.rb │ │ ├── casa_admin_policy_spec.rb │ │ ├── casa_case_policy/ │ │ │ └── scope_spec.rb │ │ ├── casa_case_policy_spec.rb │ │ ├── casa_org_policy_spec.rb │ │ ├── case_assignment_policy_spec.rb │ │ ├── case_contact_policy_spec.rb │ │ ├── case_court_order_policy_spec.rb │ │ ├── case_court_report_policy_spec.rb │ │ ├── case_group_policy_spec.rb │ │ ├── checklist_item_policy_spec.rb │ │ ├── contact_topic_answer_policy_spec.rb │ │ ├── contact_topic_policy_spec.rb │ │ ├── contact_type_group_policy_spec.rb │ │ ├── contact_type_policy_spec.rb │ │ ├── court_date_policy_spec.rb │ │ ├── custom_org_link_policy_spec.rb │ │ ├── dashboard_policy_spec.rb │ │ ├── followup_policy_spec.rb │ │ ├── fund_request_policy_spec.rb │ │ ├── hearing_type_policy_spec.rb │ │ ├── import_policy_spec.rb │ │ ├── judge_policy_spec.rb │ │ ├── language_policy_spec.rb │ │ ├── learning_hour_policy/ │ │ │ └── scope_spec.rb │ │ ├── learning_hour_policy_spec.rb │ │ ├── learning_hour_topic_policy_spec.rb │ │ ├── learning_hour_type_policy_spec.rb │ │ ├── nil_class_policy_spec.rb │ │ ├── note_policy_spec.rb │ │ ├── notification_policy_spec.rb │ │ ├── other_duty_policy_spec.rb │ │ ├── patch_note_policy_spec.rb │ │ ├── placement_policy_spec.rb │ │ ├── placement_type_policy_spec.rb │ │ ├── reimbursement_policy_spec.rb │ │ ├── supervisor_policy_spec.rb │ │ ├── supervisor_volunteer_policy_spec.rb │ │ ├── user_policy/ │ │ │ └── scope_spec.rb │ │ ├── user_policy_spec.rb │ │ └── volunteer_policy_spec.rb │ ├── presenters/ │ │ ├── base_presenter_spec.rb │ │ └── case_contact_presenter_spec.rb │ ├── rails_helper.rb │ ├── requests/ │ │ ├── additional_expenses_spec.rb │ │ ├── all_casa_admins/ │ │ │ ├── casa_admins_spec.rb │ │ │ ├── casa_orgs_spec.rb │ │ │ ├── dashboard_spec.rb │ │ │ ├── patch_notes_spec.rb │ │ │ └── sessions_spec.rb │ │ ├── all_casa_admins_spec.rb │ │ ├── android_app_associations_spec.rb │ │ ├── api/ │ │ │ └── v1/ │ │ │ ├── base_spec.rb │ │ │ └── users/ │ │ │ └── sessions_spec.rb │ │ ├── banners_spec.rb │ │ ├── bulk_court_dates_spec.rb │ │ ├── casa_admins_spec.rb │ │ ├── casa_cases_spec.rb │ │ ├── casa_org_spec.rb │ │ ├── case_assignments_spec.rb │ │ ├── case_contact_reports_spec.rb │ │ ├── case_contacts/ │ │ │ ├── case_contacts_new_design_spec.rb │ │ │ ├── followups_spec.rb │ │ │ └── form_spec.rb │ │ ├── case_contacts_spec.rb │ │ ├── case_court_orders_spec.rb │ │ ├── case_court_reports_spec.rb │ │ ├── case_groups_spec.rb │ │ ├── checklist_items_spec.rb │ │ ├── contact_topic_answers_spec.rb │ │ ├── contact_topics_spec.rb │ │ ├── contact_type_groups_spec.rb │ │ ├── contact_types_spec.rb │ │ ├── court_dates_spec.rb │ │ ├── custom_org_links_spec.rb │ │ ├── dashboard_spec.rb │ │ ├── emancipation_checklists_spec.rb │ │ ├── emancipations_request_spec.rb │ │ ├── error_spec.rb │ │ ├── followup_reports_spec.rb │ │ ├── fund_requests_spec.rb │ │ ├── health_spec.rb │ │ ├── hearing_types_spec.rb │ │ ├── imports_spec.rb │ │ ├── judges_spec.rb │ │ ├── languages_spec.rb │ │ ├── learning_hour_topics_spec.rb │ │ ├── learning_hour_types_spec.rb │ │ ├── learning_hours_reports_spec.rb │ │ ├── learning_hours_spec.rb │ │ ├── mileage_rates_spec.rb │ │ ├── mileage_reports_spec.rb │ │ ├── missing_data_reports_spec.rb │ │ ├── notes_spec.rb │ │ ├── notifications_spec.rb │ │ ├── other_duties_spec.rb │ │ ├── placement_reports_spec.rb │ │ ├── placement_types_spec.rb │ │ ├── placements_spec.rb │ │ ├── preference_sets_spec.rb │ │ ├── reimbursements_spec.rb │ │ ├── reports_spec.rb │ │ ├── static_spec.rb │ │ ├── supervisor_volunteers_spec.rb │ │ ├── supervisors_spec.rb │ │ ├── users/ │ │ │ ├── invitations_spec.rb │ │ │ └── passwords_spec.rb │ │ ├── users_spec.rb │ │ └── volunteers_spec.rb │ ├── routing/ │ │ └── all_casa_admins/ │ │ └── patch_notes_routing_spec.rb │ ├── seeds/ │ │ └── seeds_spec.rb │ ├── services/ │ │ ├── additional_expense_params_service_spec.rb │ │ ├── backfill_followupable_service_spec.rb │ │ ├── casa_case_change_service_spec.rb │ │ ├── case_contacts_contact_dates_spec.rb │ │ ├── case_contacts_export_csv_service_spec.rb │ │ ├── court_report_due_sms_reminder_service_spec.rb │ │ ├── court_report_format_contact_date_spec.rb │ │ ├── create_all_casa_admin_service_spec.rb │ │ ├── create_casa_admin_service_spec.rb │ │ ├── deployment/ │ │ │ └── backfill_case_contact_started_metadata_service_spec.rb │ │ ├── emancipation_checklist_download_html_spec.rb │ │ ├── emancipation_checklist_reminder_service_spec.rb │ │ ├── failed_import_csv_service_spec.rb │ │ ├── fdf_inputs_service_spec.rb │ │ ├── followup_export_csv_service_spec.rb │ │ ├── followup_service_spec.rb │ │ ├── inactive_messages_service_spec.rb │ │ ├── learning_hours_export_csv_service_spec.rb │ │ ├── mileage_export_csv_service_spec.rb │ │ ├── missing_data_export_csv_service_spec.rb │ │ ├── no_contact_made_sms_reminder_service_spec.rb │ │ ├── placement_export_csv_service_spec.rb │ │ ├── preference_set_table_state_service_spec.rb │ │ ├── short_url_service_spec.rb │ │ ├── sms_reminder_service_spec.rb │ │ ├── svg_sanitizer_service_spec.rb │ │ ├── twilio_service_spec.rb │ │ ├── volunteer_birthday_reminder_service_spec.rb │ │ └── volunteers_emails_export_csv_service_spec.rb │ ├── spec_helper.rb │ ├── support/ │ │ ├── api_helper.rb │ │ ├── capybara.rb │ │ ├── case_court_report_helpers.rb │ │ ├── datatable_helper.rb │ │ ├── download_helpers.rb │ │ ├── factory_bot.rb │ │ ├── fill_in_case_contact_fields.rb │ │ ├── flipper_helper.rb │ │ ├── pretender_context.rb │ │ ├── prosopite.rb │ │ ├── pundit_helper.rb │ │ ├── rack_attack.rb │ │ ├── request_helpers.rb │ │ ├── rspec_retry.rb │ │ ├── session_helper.rb │ │ ├── shared_examples/ │ │ │ ├── shows_court_dates_links.rb │ │ │ ├── shows_error_for_invalid_phone_numbers.rb │ │ │ └── soft_deleted_model.rb │ │ ├── stubbed_requests/ │ │ │ ├── short_io_api.rb │ │ │ ├── twilio_api.rb │ │ │ └── webmock_helper.rb │ │ ├── twilio_helper.rb │ │ └── user_input_helpers.rb │ ├── swagger_helper.rb │ ├── system/ │ │ ├── all_casa_admins/ │ │ │ ├── all_casa_admin_spec.rb │ │ │ ├── edit_spec.rb │ │ │ ├── password_change_spec.rb │ │ │ ├── patch_notes/ │ │ │ │ └── index_spec.rb │ │ │ └── sessions/ │ │ │ └── new_spec.rb │ │ ├── application/ │ │ │ └── timeout_warning_spec.rb │ │ ├── banners/ │ │ │ ├── dismiss_spec.rb │ │ │ └── new_spec.rb │ │ ├── bulk_court_dates/ │ │ │ └── new_spec.rb │ │ ├── casa_admins/ │ │ │ ├── edit_spec.rb │ │ │ ├── index_spec.rb │ │ │ └── new_spec.rb │ │ ├── casa_cases/ │ │ │ ├── additional_index_spec.rb │ │ │ ├── edit_spec.rb │ │ │ ├── emancipation/ │ │ │ │ └── show_spec.rb │ │ │ ├── fund_requests/ │ │ │ │ └── new_spec.rb │ │ │ ├── index_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── show_more_spec.rb │ │ │ └── show_spec.rb │ │ ├── casa_org/ │ │ │ └── edit_spec.rb │ │ ├── case_contacts/ │ │ │ ├── additional_expenses_spec.rb │ │ │ ├── case_contacts_new_design_spec.rb │ │ │ ├── contact_topic_answers_spec.rb │ │ │ ├── drafts_spec.rb │ │ │ ├── edit_spec.rb │ │ │ ├── followups/ │ │ │ │ ├── create_spec.rb │ │ │ │ └── resolve_spec.rb │ │ │ ├── index_spec.rb │ │ │ └── new_spec.rb │ │ ├── case_court_reports/ │ │ │ └── index_spec.rb │ │ ├── case_groups/ │ │ │ └── case_groups_spec.rb │ │ ├── checklist_items/ │ │ │ ├── destroy_spec.rb │ │ │ ├── edit_spec.rb │ │ │ └── new_spec.rb │ │ ├── components/ │ │ │ └── truncated_text_component_spec.rb │ │ ├── contact_types/ │ │ │ ├── edit_spec.rb │ │ │ └── new_spec.rb │ │ ├── court_dates/ │ │ │ ├── edit_spec.rb │ │ │ ├── new_spec.rb │ │ │ └── view_spec.rb │ │ ├── dashboard/ │ │ │ └── show_spec.rb │ │ ├── deep_link/ │ │ │ └── deep_link_spec.rb │ │ ├── devise/ │ │ │ └── passwords/ │ │ │ └── new_spec.rb │ │ ├── emancipations/ │ │ │ └── show_spec.rb │ │ ├── hearing_types/ │ │ │ └── new_spec.rb │ │ ├── imports/ │ │ │ └── index_spec.rb │ │ ├── judges/ │ │ │ └── new_spec.rb │ │ ├── languages/ │ │ │ └── languages_spec.rb │ │ ├── learning_hours/ │ │ │ ├── edit_spec.rb │ │ │ ├── index_spec.rb │ │ │ ├── new_spec.rb │ │ │ └── volunteers/ │ │ │ └── show_spec.rb │ │ ├── mileage_rates/ │ │ │ └── mileage_rates_spec.rb │ │ ├── notifications/ │ │ │ └── index_spec.rb │ │ ├── other_duties/ │ │ │ └── new_spec.rb │ │ ├── placements/ │ │ │ ├── destroy_spec.rb │ │ │ ├── edit_spec.rb │ │ │ ├── index_spec.rb │ │ │ └── new_spec.rb │ │ ├── reimbursements/ │ │ │ └── reimbursements_spec.rb │ │ ├── reports/ │ │ │ ├── export_data_spec.rb │ │ │ └── index_spec.rb │ │ ├── sessions/ │ │ │ ├── destroy_spec.rb │ │ │ ├── login_spec.rb │ │ │ └── new_spec.rb │ │ ├── static/ │ │ │ └── index_spec.rb │ │ ├── supervisors/ │ │ │ ├── edit_spec.rb │ │ │ ├── index_spec.rb │ │ │ └── new_spec.rb │ │ ├── users/ │ │ │ └── edit_spec.rb │ │ └── volunteers/ │ │ ├── edit_spec.rb │ │ ├── index_spec.rb │ │ ├── invite_spec.rb │ │ ├── new_spec.rb │ │ └── notes/ │ │ └── edit_spec.rb │ ├── validators/ │ │ ├── casa_org_validator_spec.rb │ │ ├── court_report_validator_spec.rb │ │ ├── url_validator_spec.rb │ │ └── user_validator_spec.rb │ ├── values/ │ │ ├── all_casa_admin_parameters_spec.rb │ │ ├── banner_parameters_spec.rb │ │ ├── casa_admin_parameters_spec.rb │ │ ├── case_contact_parameters_spec.rb │ │ ├── supervisor_parameters_spec.rb │ │ ├── user_parameters_spec.rb │ │ └── volunteer_parameters_spec.rb │ └── views/ │ ├── all_casa_admins/ │ │ ├── casa_orgs/ │ │ │ ├── new.html.erb_spec.rb │ │ │ └── show.html.erb_spec.rb │ │ ├── edit.html.erb_spec.rb │ │ └── patch_notes/ │ │ └── index.html.erb_spec.rb │ ├── banners/ │ │ └── new.html.erb_spec.rb │ ├── bulk_court_date/ │ │ └── new.html.erb_spec.rb │ ├── casa_admins/ │ │ ├── admins_table.html.erb_spec.rb │ │ └── edit.html.erb_spec.rb │ ├── casa_cases/ │ │ ├── edit.html.erb_spec.rb │ │ ├── index.html.erb_spec.rb │ │ ├── new.html.erb_spec.rb │ │ └── show.html.erb_spec.rb │ ├── casa_orgs/ │ │ └── edit.html.erb_spec.rb │ ├── case_contacts/ │ │ ├── case_contact.html.erb_spec.rb │ │ └── index.html.erb_spec.rb │ ├── case_court_reports/ │ │ └── index.html.erb_spec.rb │ ├── checklist_items/ │ │ ├── edit.html.erb_spec.rb │ │ └── new.html.erb_spec.rb │ ├── court_dates/ │ │ ├── edit.html.erb_spec.rb │ │ ├── new.html.erb_spec.rb │ │ └── show.html.erb_spec.rb │ ├── devise/ │ │ ├── invitations/ │ │ │ ├── edit.html.erb_spec.rb │ │ │ └── new.html.erb_spec.rb │ │ └── passwords/ │ │ └── new.html.erb_spec.rb │ ├── emancipations/ │ │ └── show.html.erb_spec.rb │ ├── hearing_types/ │ │ ├── edit.html.erb_spec.rb │ │ └── new.html.erb_spec.rb │ ├── judges/ │ │ └── new.html.erb_spec.rb │ ├── layouts/ │ │ ├── application.html.erb_spec.rb │ │ ├── footer.html.erb_spec.rb │ │ ├── header.html.erb_spec.rb │ │ └── sidebar.html.erb_spec.rb │ ├── mileage_rates/ │ │ └── index.html.erb_spec.rb │ ├── notifications/ │ │ └── index.html.erb_spec.rb │ ├── other_duties/ │ │ ├── edit.html.erb_spec.rb │ │ └── new.html.erb_spec.rb │ ├── placement_types/ │ │ ├── edit.html.erb_spec.rb │ │ └── new.html.erb_spec.rb │ ├── placements/ │ │ ├── edit.html.erb_spec.rb │ │ ├── index.html.erb_spec.rb │ │ └── new.html.erb_spec.rb │ ├── reimbursements/ │ │ └── index.html.erb_spec.rb │ ├── supervisor_mailer/ │ │ └── weekly_digest.html.erb_spec.rb │ ├── supervisors/ │ │ ├── edit.html.erb_spec.rb │ │ ├── index.html.erb_spec.rb │ │ └── new.html.erb_spec.rb │ ├── templates/ │ │ └── email_templates_spec.rb │ └── volunteers/ │ ├── edit.html.erb_spec.rb │ ├── index.html.erb_spec.rb │ └── new.html.erb_spec.rb ├── storage/ │ └── .keep ├── swagger/ │ └── v1/ │ └── swagger.yaml └── vendor/ ├── .keep └── pdftk/ ├── bin/ │ └── pdftk └── lib/ └── libgcj.so.12