From eecbca3f8ff7175c13f3db7178ba159011a567d6 Mon Sep 17 00:00:00 2001 From: Faizan Anwar Date: Sun, 8 Sep 2024 19:01:00 +0530 Subject: [PATCH 1/4] Added additional_info column in the items table --- db/migrate/20240831173731_add_additional_info_to_items.rb | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 db/migrate/20240831173731_add_additional_info_to_items.rb 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 From 0ff9282045b775874ce883ecb9c31b8e5458dac4 Mon Sep 17 00:00:00 2001 From: Faizan Anwar Date: Sun, 8 Sep 2024 19:02:17 +0530 Subject: [PATCH 2/4] Added additional_info in the item form and made corresponding changes in the controller --- app/controllers/items_controller.rb | 3 ++- app/views/items/_form.html.erb | 6 ++++++ app/views/items/_item_list.html.erb | 3 +++ app/views/items/_item_row.html.erb | 3 +++ app/views/items/show.html.erb | 6 ++++++ 5 files changed, 20 insertions(+), 1 deletion(-) 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..1a59d13150 100644 --- a/app/views/items/_form.html.erb +++ b/app/views/items/_form.html.erb @@ -52,6 +52,12 @@ <%= 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 %> + + <% if current_user.has_role?(Role::ORG_ADMIN, current_organization) || current_user.has_role?(Role::ORG_USER, current_organization) %> + <%= f.input :additional_info, label: "Additional Information (Bank Use Only)", wrapper: :input_group do %> + <%= f.text_field :additional_info, class: "form-control" %> + <% end %> + <% end %> From 36ee7803b2876961abbd352da66480eef76482d5 Mon Sep 17 00:00:00 2001 From: Faizan Anwar Date: Sun, 8 Sep 2024 19:27:20 +0530 Subject: [PATCH 3/4] Added test cases for additional info --- spec/controllers/items_controller_spec.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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) From ef08384a06aabcdd527a1cb5213c6cc15cf30fbd Mon Sep 17 00:00:00 2001 From: Faizan Anwar Date: Mon, 30 Sep 2024 12:39:31 +0530 Subject: [PATCH 4/4] remove condition as it is only visible to bank users --- app/views/items/_form.html.erb | 6 ++---- app/views/items/_item_list.html.erb | 4 +--- app/views/items/_item_row.html.erb | 4 +--- app/views/items/show.html.erb | 10 ++++------ 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/app/views/items/_form.html.erb b/app/views/items/_form.html.erb index 1a59d13150..e4316608cc 100644 --- a/app/views/items/_form.html.erb +++ b/app/views/items/_form.html.erb @@ -53,10 +53,8 @@ <%= f.check_box :visible_to_partners, {class: "input-group-text", id: "visible_to_partners"}, "true", "false" %> <% end %> - <% if current_user.has_role?(Role::ORG_ADMIN, current_organization) || current_user.has_role?(Role::ORG_USER, current_organization) %> - <%= f.input :additional_info, label: "Additional Information (Bank Use Only)", wrapper: :input_group do %> - <%= f.text_field :additional_info, class: "form-control" %> - <% 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/app/views/items/_item_list.html.erb b/app/views/items/_item_list.html.erb index 501aafd158..7439208f0d 100644 --- a/app/views/items/_item_list.html.erb +++ b/app/views/items/_item_list.html.erb @@ -8,9 +8,7 @@ Category Name - <% if current_user.has_role?(Role::ORG_ADMIN, current_organization) || current_user.has_role?(Role::ORG_USER, current_organization) %> - Add. Info - <% end %> + Add. Info Quantity Per Individual Fair Market Value (per item) <% if Flipper.enabled?(:enable_packs) %> diff --git a/app/views/items/_item_row.html.erb b/app/views/items/_item_row.html.erb index 6fc531c96c..760cf8acdb 100644 --- a/app/views/items/_item_row.html.erb +++ b/app/views/items/_item_row.html.erb @@ -1,9 +1,7 @@ <%= item_row.item_category && link_to(item_row.item_category&.name, item_category_path(item_row.item_category), class: 'text-blue-500') %> <%= item_row.name %> - <% if current_user.has_role?(Role::ORG_ADMIN, current_organization) || current_user.has_role?(Role::ORG_USER, current_organization) %> - <%= truncate item_row.additional_info, length: 25 %> - <% end %> + <%= truncate item_row.additional_info, length: 25 %> <%= item_row.distribution_quantity %> <%= dollar_value(item_row.value_in_cents) %> <% if Flipper.enabled?(:enable_packs) %> diff --git a/app/views/items/show.html.erb b/app/views/items/show.html.erb index d24ffdcc6c..4ae30403ed 100644 --- a/app/views/items/show.html.erb +++ b/app/views/items/show.html.erb @@ -74,12 +74,10 @@ Item is visible to partners <%= @item.visible_to_partners ? 'Yes' : 'No' %> - <% if current_user.has_role?(Role::ORG_ADMIN, current_organization) || current_user.has_role?(Role::ORG_USER, current_organization) %> - - Additional Information (Bank Use Only) - <%= @item.additional_info %> - - <% end %> + + Additional Information (Bank Use Only) + <%= @item.additional_info %> +