From f4a9de2201b22000de37bbec868da5a54ccf5edc Mon Sep 17 00:00:00 2001 From: Zee Spencer <50284+zspencer@users.noreply.github.com> Date: Wed, 26 Jul 2023 19:08:26 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=E2=9C=A8=20`Marketplace`:=20`Order?= =?UTF-8?q?s`=20expose=20their=20`Events`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://github.com/zinc-collective/convene/pull/1710 Next steps: - Tidy the UI! It gross - Add Specs! It needs them! - ??? --- app/furniture/marketplace/event_policy.rb | 7 +++++++ .../marketplace/order/events/index.html.erb | 3 +++ .../marketplace/order/events_controller.rb | 13 +++++++++++++ app/furniture/marketplace/orders/_order.html.erb | 4 ++++ app/furniture/marketplace/routes.rb | 4 +++- .../stripe_events_controller_request_spec.rb | 2 +- 6 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 app/furniture/marketplace/event_policy.rb create mode 100644 app/furniture/marketplace/order/events/index.html.erb create mode 100644 app/furniture/marketplace/order/events_controller.rb diff --git a/app/furniture/marketplace/event_policy.rb b/app/furniture/marketplace/event_policy.rb new file mode 100644 index 000000000..8fe176077 --- /dev/null +++ b/app/furniture/marketplace/event_policy.rb @@ -0,0 +1,7 @@ +class Marketplace + class EventPolicy < Policy + + class Scope < ApplicationScope + end + end +end diff --git a/app/furniture/marketplace/order/events/index.html.erb b/app/furniture/marketplace/order/events/index.html.erb new file mode 100644 index 000000000..cda7fd147 --- /dev/null +++ b/app/furniture/marketplace/order/events/index.html.erb @@ -0,0 +1,3 @@ +<%- events.each do |event| %> +<%= event.description%> - <% l(event.created_at, format: :long_ordinal) %> +<%- end %> diff --git a/app/furniture/marketplace/order/events_controller.rb b/app/furniture/marketplace/order/events_controller.rb new file mode 100644 index 000000000..d77437c6e --- /dev/null +++ b/app/furniture/marketplace/order/events_controller.rb @@ -0,0 +1,13 @@ +class Marketplace + class Order::EventsController < Controller + expose :order, scope: -> { OrderPolicy::Scope.new(shopper, marketplace.orders).resolve }, model: Order + helper_method def events + policy_scope(order.events) + end + + def index + skip_authorization + + end + end +end diff --git a/app/furniture/marketplace/orders/_order.html.erb b/app/furniture/marketplace/orders/_order.html.erb index 3706546f2..aca8f25d4 100644 --- a/app/furniture/marketplace/orders/_order.html.erb +++ b/app/furniture/marketplace/orders/_order.html.erb @@ -26,4 +26,8 @@