From 0d48343915de696c78fe3c3538c8e5b9900c6839 Mon Sep 17 00:00:00 2001 From: Gerald Abrencillo Date: Sat, 26 Sep 2020 00:06:12 +0800 Subject: [PATCH 1/3] Ask users to confirm bulk orders --- .../partner_requests_controller.rb | 6 +- app/views/partner_requests/confirm.html.erb | 79 +++++++++++++++++++ app/views/partner_requests/new.html.erb | 2 +- config/routes.rb | 6 +- 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 app/views/partner_requests/confirm.html.erb diff --git a/app/controllers/partner_requests_controller.rb b/app/controllers/partner_requests_controller.rb index 293159cf..5954f7c7 100644 --- a/app/controllers/partner_requests_controller.rb +++ b/app/controllers/partner_requests_controller.rb @@ -15,6 +15,11 @@ def new @partner_request.item_requests.build # required to render the empty items form end + def confirm + @partner_request = PartnerRequest.new(partner_request_params.merge(partner_id: current_partner.id)) + @partner_request.item_requests << create_item_requests + end + def create @partner_request = PartnerRequest.new(partner_request_params.merge(partner_id: current_partner.id)) @partner_request.item_requests << create_item_requests @@ -45,7 +50,6 @@ def partner_request_params end def get_full_item_values(id) - valid_items = DiaperBankClient.get_available_items(current_partner.diaper_bank_id) valid_items.find { |item| item["id"] == id.to_i } end diff --git a/app/views/partner_requests/confirm.html.erb b/app/views/partner_requests/confirm.html.erb new file mode 100644 index 00000000..bb224b42 --- /dev/null +++ b/app/views/partner_requests/confirm.html.erb @@ -0,0 +1,79 @@ +
+
+
+
+ <% content_for :title, "New Request - #{current_partner.name}" %> +

   + Confirm Request + for <%= current_partner.name %> +

+
+ +
+
+
+ +
+
+
+
+ +
+
+

Please double check the values that you inputted.

+
+
+
+
+
+
+ +
+
+
+
+ +
+
+ + <%= simple_form_for @partner_request, html: {role: 'form', class: 'form-horizontal'} do |form| %> + + <%= form.input :comments, label: "Comments:", as: :text, class: "form-control", wrapper: :input_group %> + + + + + + + + + + + <%= render 'item_request', form: form %> + +
Item RequestedQuantity
+
+ <%= add_item_button('Add Another Item') do %> + <%= render 'item_request', form: form, object: @partner_request.item_requests.build %> + <% end %> +
+ +
+ +
+ + <% end %> +
+
+
+
+
diff --git a/app/views/partner_requests/new.html.erb b/app/views/partner_requests/new.html.erb index 41ed2934..f3455ee8 100644 --- a/app/views/partner_requests/new.html.erb +++ b/app/views/partner_requests/new.html.erb @@ -27,7 +27,7 @@
- <%= simple_form_for @partner_request, html: {role: 'form', class: 'form-horizontal'} do |form| %> + <%= simple_form_for @partner_request, url: confirm_partner_requests_path, html: {role: 'form', class: 'form-horizontal'} do |form| %> <%= form.input :comments, label: "Comments:", as: :text, class: "form-control", wrapper: :input_group %> diff --git a/config/routes.rb b/config/routes.rb index 653e6b04..d1922bb9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -36,7 +36,11 @@ end resources :users, only: [:index] - resources :partner_requests, only: [:new, :create, :show, :index] + resources :partner_requests, only: [:new, :create, :show, :index] do + collection do + post :confirm + end + end resources :individuals_requests, only: [:new, :create] resources :family_requests, only: [:new, :create] do resource :pickup_sheets, only: :show From 4c313cce5e522d08226fe9dd04a466c16a9080cf Mon Sep 17 00:00:00 2001 From: Gerald Abrencillo Date: Sat, 26 Sep 2020 00:16:28 +0800 Subject: [PATCH 2/3] Refactor build_partner_request method --- app/controllers/partner_requests_controller.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/controllers/partner_requests_controller.rb b/app/controllers/partner_requests_controller.rb index 5954f7c7..0bd12435 100644 --- a/app/controllers/partner_requests_controller.rb +++ b/app/controllers/partner_requests_controller.rb @@ -16,13 +16,11 @@ def new end def confirm - @partner_request = PartnerRequest.new(partner_request_params.merge(partner_id: current_partner.id)) - @partner_request.item_requests << create_item_requests + @partner_request = build_partner_request end def create - @partner_request = PartnerRequest.new(partner_request_params.merge(partner_id: current_partner.id)) - @partner_request.item_requests << create_item_requests + @partner_request = build_partner_request respond_to do |format| if @partner_request.save # NOTE(chaserx): send request to diaper app. @@ -45,6 +43,12 @@ def show private + def build_partner_request + partner_request = PartnerRequest.new(partner_request_params.merge(partner_id: current_partner.id)) + partner_request.item_requests << create_item_requests + partner_request + end + def partner_request_params params.require(:partner_request).permit(:comments, :item_requests_attributes) end From 21e13c305fcedfbb1e60a3ccd42ec6808129b94a Mon Sep 17 00:00:00 2001 From: Gerald Abrencillo Date: Sat, 26 Sep 2020 00:21:06 +0800 Subject: [PATCH 3/3] Move inputs to a form partial --- app/views/partner_requests/_form.html.erb | 19 +++++++++++++++++++ app/views/partner_requests/confirm.html.erb | 20 +------------------- app/views/partner_requests/new.html.erb | 20 +------------------- 3 files changed, 21 insertions(+), 38 deletions(-) create mode 100644 app/views/partner_requests/_form.html.erb diff --git a/app/views/partner_requests/_form.html.erb b/app/views/partner_requests/_form.html.erb new file mode 100644 index 00000000..a03daed2 --- /dev/null +++ b/app/views/partner_requests/_form.html.erb @@ -0,0 +1,19 @@ +<%= form.input :comments, label: "Comments:", as: :text, class: "form-control", wrapper: :input_group %> + + + + + + + + + + + <%= render 'item_request', form: form %> + +
Item RequestedQuantity
+
+ <%= add_item_button('Add Another Item') do %> + <%= render 'item_request', form: form, object: partner_request.item_requests.build %> + <% end %> +
diff --git a/app/views/partner_requests/confirm.html.erb b/app/views/partner_requests/confirm.html.erb index bb224b42..82507bdd 100644 --- a/app/views/partner_requests/confirm.html.erb +++ b/app/views/partner_requests/confirm.html.erb @@ -44,25 +44,7 @@ <%= simple_form_for @partner_request, html: {role: 'form', class: 'form-horizontal'} do |form| %> - <%= form.input :comments, label: "Comments:", as: :text, class: "form-control", wrapper: :input_group %> - - - - - - - - - - - <%= render 'item_request', form: form %> - -
Item RequestedQuantity
-
- <%= add_item_button('Add Another Item') do %> - <%= render 'item_request', form: form, object: @partner_request.item_requests.build %> - <% end %> -
+ <%= render "form", form: form, partner_request: @partner_request %>
diff --git a/app/views/partner_requests/new.html.erb b/app/views/partner_requests/new.html.erb index f3455ee8..6290be19 100644 --- a/app/views/partner_requests/new.html.erb +++ b/app/views/partner_requests/new.html.erb @@ -29,25 +29,7 @@ <%= simple_form_for @partner_request, url: confirm_partner_requests_path, html: {role: 'form', class: 'form-horizontal'} do |form| %> - <%= form.input :comments, label: "Comments:", as: :text, class: "form-control", wrapper: :input_group %> - - - - - - - - - - - <%= render 'item_request', form: form %> - -
Item RequestedQuantity
-
- <%= add_item_button('Add Another Item') do %> - <%= render 'item_request', form: form, object: @partner_request.item_requests.build %> - <% end %> -
+ <%= render "form", form: form, partner_request: @partner_request %>