diff --git a/app/controllers/billboard_events_controller.rb b/app/controllers/billboard_events_controller.rb index 228cb087d..909f5b9af 100644 --- a/app/controllers/billboard_events_controller.rb +++ b/app/controllers/billboard_events_controller.rb @@ -5,7 +5,7 @@ class BillboardEventsController < ApplicationMetalController def create # Only tracking for logged in users at the moment billboard_event_create_params = billboard_event_params.merge(user_id: session_current_user_id) - @billboard_event = DisplayAdEvent.create(billboard_event_create_params) + @billboard_event = BillboardEvent.create(billboard_event_create_params) update_billboards_data @@ -35,8 +35,8 @@ class BillboardEventsController < ApplicationMetalController def billboard_event_params event_params = params[:billboard_event] || params[:display_ad_event] # keeping while we may receive data in the "old" format from cached js - display_ad_id = event_params.delete(:display_ad_id) - event_params[:billboard_id] ||= display_ad_id + billboard_id = event_params.delete(:display_ad_id) + event_params[:billboard_id] ||= billboard_id event_params.slice(:context_type, :category, :billboard_id) end end diff --git a/app/models/display_ad_event.rb b/app/models/billboard_event.rb similarity index 91% rename from app/models/display_ad_event.rb rename to app/models/billboard_event.rb index 06d24891c..51c94a23d 100644 --- a/app/models/display_ad_event.rb +++ b/app/models/billboard_event.rb @@ -1,10 +1,12 @@ # @note When we destroy the related user, it's using dependent: # :delete for the relationship. That means no before/after # destroy callbacks will be called on this object. -class DisplayAdEvent < ApplicationRecord +class BillboardEvent < ApplicationRecord belongs_to :billboard, class_name: "DisplayAd", foreign_key: :display_ad_id, inverse_of: :billboard_events belongs_to :user, optional: true + self.table_name = "display_ad_events" + alias_attribute :billboard_id, :display_ad_id CATEGORY_IMPRESSION = "impression".freeze diff --git a/app/models/display_ad.rb b/app/models/display_ad.rb index 4a797e642..9b410774d 100644 --- a/app/models/display_ad.rb +++ b/app/models/display_ad.rb @@ -31,7 +31,7 @@ class DisplayAd < ApplicationRecord enum type_of: { in_house: 0, community: 1, external: 2 } belongs_to :organization, optional: true - has_many :billboard_events, class_name: "DisplayAdEvent", dependent: :destroy + has_many :billboard_events, dependent: :destroy validates :placement_area, presence: true, inclusion: { in: ALLOWED_PLACEMENT_AREAS } diff --git a/app/models/user.rb b/app/models/user.rb index 5ca5cc3e1..1000700e0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -70,7 +70,7 @@ class User < ApplicationRecord has_many :created_podcasts, class_name: "Podcast", foreign_key: :creator_id, inverse_of: :creator, dependent: :nullify has_many :credits, dependent: :destroy has_many :discussion_locks, dependent: :delete_all, inverse_of: :locking_user, foreign_key: :locking_user_id - has_many :billboard_events, class_name: "DisplayAdEvent", dependent: :nullify + has_many :billboard_events, dependent: :nullify has_many :email_authorizations, dependent: :delete_all has_many :email_messages, class_name: "Ahoy::Message", dependent: :destroy has_many :field_test_memberships, class_name: "FieldTest::Membership", as: :participant, dependent: :destroy diff --git a/app/services/billboard_event_rollup.rb b/app/services/billboard_event_rollup.rb index 49494011a..35f6d1d16 100644 --- a/app/services/billboard_event_rollup.rb +++ b/app/services/billboard_event_rollup.rb @@ -44,7 +44,7 @@ class BillboardEventRollup attr_reader :aggregator end - def self.rollup(date, relation: DisplayAdEvent) + def self.rollup(date, relation: BillboardEvent) new(relation: relation).rollup(date) end diff --git a/app/views/articles/index.html.erb b/app/views/articles/index.html.erb index 4919097dd..56932cead 100644 --- a/app/views/articles/index.html.erb +++ b/app/views/articles/index.html.erb @@ -27,7 +27,7 @@ <%= javascript_packs_with_chunks_tag "homePage", defer: true %> <% cache(release_adjusted_cache_key("main-stories-index-#{params}-#{user_signed_in?}"), expires_in: 90.seconds) do %> <% if @hero_display_ad && FeatureFlag.enabled?(:hero_billboard) %> - <%= render partial: "shared/display_ad", locals: { display_ad: @hero_display_ad, data_context_type: DisplayAdEvent::CONTEXT_TYPE_HOME } %> + <%= render partial: "shared/display_ad", locals: { display_ad: @hero_display_ad, data_context_type: BillboardEvent::CONTEXT_TYPE_HOME } %> <% end %>