diff --git a/app/controllers/admin/display_ads_controller.rb b/app/controllers/admin/display_ads_controller.rb index 3048a7004..26d3df10a 100644 --- a/app/controllers/admin/display_ads_controller.rb +++ b/app/controllers/admin/display_ads_controller.rb @@ -59,7 +59,7 @@ module Admin def display_ad_params params.permit(:organization_id, :body_markdown, :placement_area, :published, :approved, :name, :display_to, - :tag_list) + :tag_list, :type_of) end def authorize_admin diff --git a/app/models/display_ad.rb b/app/models/display_ad.rb index f047958b2..afaa05b70 100644 --- a/app/models/display_ad.rb +++ b/app/models/display_ad.rb @@ -14,6 +14,7 @@ class DisplayAd < ApplicationRecord SIDEBAR_WIDTH = 350 enum display_to: { all: 0, logged_in: 1, logged_out: 2 }, _prefix: true + enum type_of: { in_house: 0, community: 1, external: 2 } belongs_to :organization, optional: true has_many :display_ad_events, dependent: :destroy diff --git a/app/views/admin/display_ads/_form.html.erb b/app/views/admin/display_ads/_form.html.erb index 9d31aa4ff..c308449bc 100644 --- a/app/views/admin/display_ads/_form.html.erb +++ b/app/views/admin/display_ads/_form.html.erb @@ -54,6 +54,28 @@ +
+
+ Type +

For internal use

+ + + + + + +
+
+
<%= label_tag :published, "Published:", class: "crayons-field__label" %> <%= select_tag :published, options_for_select([false, true], selected: @display_ad.published), class: "crayons-select" %> diff --git a/app/views/admin/display_ads/index.html.erb b/app/views/admin/display_ads/index.html.erb index 5adb5151f..009250f0a 100644 --- a/app/views/admin/display_ads/index.html.erb +++ b/app/views/admin/display_ads/index.html.erb @@ -23,8 +23,8 @@ Name Placement Area Display to User Group - Published - Approved + Type + Public? Success Rate @@ -34,8 +34,12 @@ <%= link_to display_ad.name, edit_admin_display_ad_path(display_ad) %> <%= display_ad.human_readable_placement_area %> <%= display_ad.display_to %> - <%= display_ad.published %> - <%= display_ad.approved %> + <%= display_ad.type_of.titleize %> + <% if display_ad.published? && display_ad.approved? %> + + <% else %> + + <% end %> <%= display_ad.success_rate %> <%= link_to "Edit", edit_admin_display_ad_path(display_ad), class: "crayons-btn" %> diff --git a/db/migrate/20221110130111_add_type_to_display_ads.rb b/db/migrate/20221110130111_add_type_to_display_ads.rb new file mode 100644 index 000000000..a77b27dcc --- /dev/null +++ b/db/migrate/20221110130111_add_type_to_display_ads.rb @@ -0,0 +1,5 @@ +class AddTypeToDisplayAds < ActiveRecord::Migration[7.0] + def change + add_column :display_ads, :type_of, :integer, default: 0, null: false + end +end diff --git a/db/schema.rb b/db/schema.rb index 494444375..335ecf602 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2022_10_31_133328) do +ActiveRecord::Schema[7.0].define(version: 2022_11_10_130111) do # These are extensions that must be enabled in order to support this database enable_extension "citext" enable_extension "pg_stat_statements" @@ -467,6 +467,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_10_31_133328) do t.text "processed_html" t.boolean "published", default: false t.float "success_rate", default: 0.0 + t.integer "type_of", default: 0, null: false t.datetime "updated_at", precision: nil, null: false t.index ["cached_tag_list"], name: "index_display_ads_on_cached_tag_list", opclass: :gin_trgm_ops, using: :gin end