diff --git a/app/controllers/state_file/questions/md_tax_refund_controller.rb b/app/controllers/state_file/questions/md_tax_refund_controller.rb
new file mode 100644
index 00000000000..da19c4ba8d0
--- /dev/null
+++ b/app/controllers/state_file/questions/md_tax_refund_controller.rb
@@ -0,0 +1,20 @@
+module StateFile
+ module Questions
+ class MdTaxRefundController < QuestionsController
+ def self.show?(intake)
+ # intake.calculated_refund_or_owed_amount.positive?
+ true
+ end
+
+ def refund_amount
+ current_intake.calculated_refund_or_owed_amount
+ end
+ helper_method :refund_amount
+
+
+ private
+
+ def card_postscript; end
+ end
+ end
+end
diff --git a/app/controllers/state_file/questions/taxes_owed_controller.rb b/app/controllers/state_file/questions/taxes_owed_controller.rb
index 1bd37130026..abf74171716 100644
--- a/app/controllers/state_file/questions/taxes_owed_controller.rb
+++ b/app/controllers/state_file/questions/taxes_owed_controller.rb
@@ -2,7 +2,8 @@ module StateFile
module Questions
class TaxesOwedController < QuestionsController
def self.show?(intake)
- intake.calculated_refund_or_owed_amount.negative? # what happens if zero?
+ true
+ # intake.calculated_refund_or_owed_amount.negative? # what happens if zero?
end
def taxes_owed
diff --git a/app/lib/navigation/state_file_md_question_navigation.rb b/app/lib/navigation/state_file_md_question_navigation.rb
index 910a4bdad42..bb9c4681116 100644
--- a/app/lib/navigation/state_file_md_question_navigation.rb
+++ b/app/lib/navigation/state_file_md_question_navigation.rb
@@ -33,7 +33,7 @@ class StateFileMdQuestionNavigation < Navigation::StateFileBaseQuestionNavigatio
Navigation::NavigationStep.new(StateFile::Questions::UnemploymentController),
Navigation::NavigationStep.new(StateFile::Questions::MdReviewController),
Navigation::NavigationStep.new(StateFile::Questions::TaxesOwedController),
- Navigation::NavigationStep.new(StateFile::Questions::TaxRefundController),
+ Navigation::NavigationStep.new(StateFile::Questions::MdTaxRefundController),
Navigation::NavigationStep.new(StateFile::Questions::EsignDeclarationController), # creates EfileSubmission and transitions to preparing
]),
Navigation::NavigationSection.new("state_file.navigation.section_6", [
diff --git a/app/models/state_file_id_intake.rb b/app/models/state_file_id_intake.rb
index 02a94a048a3..59c6e3690d7 100644
--- a/app/models/state_file_id_intake.rb
+++ b/app/models/state_file_id_intake.rb
@@ -20,6 +20,7 @@
# email_address_verified_at :datetime
# failed_attempts :integer default(0), not null
# federal_return_status :string
+# has_unpaid_sales_use_tax :integer default("unfilled"), not null
# hashed_ssn :string
# last_sign_in_at :datetime
# last_sign_in_ip :inet
@@ -49,12 +50,19 @@
# spouse_last_name :string
# spouse_middle_initial :string
# spouse_suffix :string
+# total_purchase_amount :decimal(12, 2)
# unsubscribed_from_email :boolean default(FALSE), not null
# withdraw_amount :integer
# created_at :datetime not null
# updated_at :datetime not null
# federal_submission_id :string
# visitor_id :string
+#
+# Indexes
+#
+# index_state_file_id_intakes_on_email_address (email_address)
+# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
+#
# Indexes
#
diff --git a/app/views/state_file/questions/md_tax_refund/_md_bank_details.html.erb b/app/views/state_file/questions/md_tax_refund/_md_bank_details.html.erb
new file mode 100644
index 00000000000..ec3f97f3ea3
--- /dev/null
+++ b/app/views/state_file/questions/md_tax_refund/_md_bank_details.html.erb
@@ -0,0 +1,50 @@
+
+
<%= t(".bank_title") %>
+
<%= t(".foreign_accounts") %>
+
+ <% if owe_taxes %>
+ <%= form.hidden_field :app_time, value: app_time %>
+ <%= form.vita_min_money_field(:withdraw_amount, t('.withdraw_amount', owed_amount: taxes_owed), classes: ["form-width--long"]) %>
+ <% if before_withdrawal_date_deadline?(current_state_code) %>
+
+ <% year = MultiTenantService.new(:statefile).current_tax_year + 1 %>
+ <%= form.cfa_date_select(
+ :date_electronic_withdrawal,
+ t(".date_withdraw_text",
+ withdrawal_deadline_date: I18n.l(withdrawal_date_deadline(current_state_code).to_date, format: :medium, locale: locale),
+ with_drawal_deadline_year: withdrawal_date_deadline(current_state_code).year),
+ options: {
+ start_year: year,
+ end_year: year,
+ }
+ ) %>
+
+ <% else %>
+ <%= form.hidden_field :post_deadline_withdrawal_date, value: post_deadline_withdrawal_date(current_state_code) %>
+ <% end %>
+ <% end %>
+
+ <%= form.cfa_input_field(:bank_name, t("views.questions.bank_details.bank_name"), classes: ["form-width--long"]) %>
+ <%= form.cfa_radio_set(
+ :account_type,
+ label_text: t("views.questions.bank_details.account_type.label"),
+ collection: [
+ { value: :checking, label: t("views.questions.bank_details.account_type.checking") },
+ { value: :savings, label: t("views.questions.bank_details.account_type.savings") },
+ ]
+ )
+ %>
+ <%= form.cfa_input_field(:routing_number, t(".routing_number"), classes: ["form-width--long", "disablecopy"]) %>
+ <%= form.cfa_input_field(:routing_number_confirmation, t(".confirm_routing_number"), classes: ["form-width--long", "disablepaste", "disablecopy"]) %>
+ <%= form.cfa_input_field(:account_number, t(".account_number"), classes: ["form-width--long", "disablecopy"]) %>
+ <%= form.cfa_input_field(:account_number_confirmation, t(".confirm_account_number"), classes: ["form-width--long", "disablepaste", "disablecopy"]) %>
+
+
<%= t(".disclaimer") %>
+ <% if owe_taxes && !before_withdrawal_date_deadline?(current_state_code) %>
+
+ <%= t(".after_deadline_default_withdrawal_info",
+ withdrawal_deadline_date: I18n.l(withdrawal_date_deadline(current_state_code).to_date, format: :medium, locale: locale),
+ with_drawal_deadline_year: withdrawal_date_deadline(current_state_code).year) %>
+
+ <% end %>
+
\ No newline at end of file
diff --git a/app/views/state_file/questions/md_tax_refund/edit.html.erb b/app/views/state_file/questions/md_tax_refund/edit.html.erb
new file mode 100644
index 00000000000..bce5a64fc06
--- /dev/null
+++ b/app/views/state_file/questions/md_tax_refund/edit.html.erb
@@ -0,0 +1,36 @@
+<% content_for :page_title, t(".page_title") %>
+
+<% content_for :card do %>
+
+
+
+ <%= f.cfa_radio_set(
+ :payment_or_deposit_type,
+ collection: [
+ { value: :direct_deposit, label: t(".direct_deposit"), input_html: { "data-follow-up": "#deposit-to-bank" } },
+ { value: :mail, label: t(".mail"), input_html: { "data-follow-up": "#mail-check" } },
+ ]
+ ) %>
+
+
+
+
+
+
+ <%= render 'state_file/questions/md_tax_refund/md_bank_details', form: f, owe_taxes: false %>
+
+
+
+ <%= f.continue %>
+
+ <% end %>
+<% end %>
+
+<% content_for :script do %>
+ <%= render 'shared/disable_copy_paste' %>
+<% end %>
\ No newline at end of file
diff --git a/spec/factories/state_file_id_intakes.rb b/spec/factories/state_file_id_intakes.rb
index bd11c21c6c8..359c103ba63 100644
--- a/spec/factories/state_file_id_intakes.rb
+++ b/spec/factories/state_file_id_intakes.rb
@@ -20,6 +20,7 @@
# email_address_verified_at :datetime
# failed_attempts :integer default(0), not null
# federal_return_status :string
+# has_unpaid_sales_use_tax :integer default("unfilled"), not null
# hashed_ssn :string
# last_sign_in_at :datetime
# last_sign_in_ip :inet
@@ -49,12 +50,14 @@
# spouse_last_name :string
# spouse_middle_initial :string
# spouse_suffix :string
+# total_purchase_amount :decimal(12, 2)
# unsubscribed_from_email :boolean default(FALSE), not null
# withdraw_amount :integer
# created_at :datetime not null
# updated_at :datetime not null
# federal_submission_id :string
# visitor_id :string
+#
# Indexes
#
# index_state_file_id_intakes_on_email_address (email_address)
diff --git a/spec/models/state_file_id_intake_spec.rb b/spec/models/state_file_id_intake_spec.rb
index 4e423acda03..7ea706a0608 100644
--- a/spec/models/state_file_id_intake_spec.rb
+++ b/spec/models/state_file_id_intake_spec.rb
@@ -20,6 +20,7 @@
# email_address_verified_at :datetime
# failed_attempts :integer default(0), not null
# federal_return_status :string
+# has_unpaid_sales_use_tax :integer default("unfilled"), not null
# hashed_ssn :string
# last_sign_in_at :datetime
# last_sign_in_ip :inet
@@ -49,12 +50,14 @@
# spouse_last_name :string
# spouse_middle_initial :string
# spouse_suffix :string
+# total_purchase_amount :decimal(12, 2)
# unsubscribed_from_email :boolean default(FALSE), not null
# withdraw_amount :integer
# created_at :datetime not null
# updated_at :datetime not null
# federal_submission_id :string
# visitor_id :string
+#
# Indexes
#
# index_state_file_id_intakes_on_email_address (email_address)