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 @@
+
+
+
+
<%= 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
|