diff --git a/app/controllers/items_controller.rb b/app/controllers/items_controller.rb index cd066bac84..a6cd9213c7 100644 --- a/app/controllers/items_controller.rb +++ b/app/controllers/items_controller.rb @@ -180,7 +180,8 @@ def item_params :on_hand_recommended_quantity, :distribution_quantity, :visible_to_partners, - :active + :active, + :additional_info ) end diff --git a/app/views/items/_form.html.erb b/app/views/items/_form.html.erb index 15dc7ebbb3..e4316608cc 100644 --- a/app/views/items/_form.html.erb +++ b/app/views/items/_form.html.erb @@ -52,6 +52,10 @@ <%= f.input :visible, label: "Item is Visible to Partners?", wrapper: :input_group do %> <%= f.check_box :visible_to_partners, {class: "input-group-text", id: "visible_to_partners"}, "true", "false" %> <% end %> + + <%= f.input :additional_info, label: "Additional Information (Bank Use Only)", wrapper: :input_group do %> + <%= f.text_field :additional_info, class: "form-control" %> + <% end %> diff --git a/db/migrate/20240831173731_add_additional_info_to_items.rb b/db/migrate/20240831173731_add_additional_info_to_items.rb new file mode 100644 index 0000000000..78b099df7a --- /dev/null +++ b/db/migrate/20240831173731_add_additional_info_to_items.rb @@ -0,0 +1,5 @@ +class AddAdditionalInfoToItems < ActiveRecord::Migration[7.1] + def change + add_column :items, :additional_info, :text + end +end diff --git a/spec/controllers/items_controller_spec.rb b/spec/controllers/items_controller_spec.rb index a7fba1b37b..31299f3bd9 100644 --- a/spec/controllers/items_controller_spec.rb +++ b/spec/controllers/items_controller_spec.rb @@ -36,6 +36,11 @@ expect(subject).to redirect_to(items_path) expect(item.reload.visible_to_partners).to be true end + + it "updates an item with new additional_info" do + put :update, params: { id: item.id, item: { additional_info: "Updated bank information" } } + expect(item.reload.additional_info).to eq "Updated bank information" + end end context "invisible" do @@ -135,7 +140,8 @@ partner_key: create(:base_item).partner_key, value_in_cents: 1001, package_size: 5, - distribution_quantity: 30 + distribution_quantity: 30, + additional_info: "Sensitive bank information" } } end @@ -154,6 +160,13 @@ expect(response).not_to have_error end + it "creates an item with additional_info" do + expect do + post :create, params: item_params + end.to change { Item.count }.by(1) + expect(Item.last.additional_info).to eq "Sensitive bank information" + end + it "should accept request_unit ids and create request_units" do Flipper.enable(:enable_packs) unit = create(:unit, organization: organization)