diff --git a/app/dashboards/agent_bot_dashboard.rb b/app/dashboards/agent_bot_dashboard.rb index 87605135d..e97a64de8 100644 --- a/app/dashboards/agent_bot_dashboard.rb +++ b/app/dashboards/agent_bot_dashboard.rb @@ -12,6 +12,7 @@ class AgentBotDashboard < Administrate::BaseDashboard avatar_url: AvatarField, id: Field::Number, name: Field::String, + account: Field::BelongsTo.with_options(searchable: true, searchable_field: 'name', order: 'id DESC'), description: Field::String, outgoing_url: Field::String, created_at: Field::DateTime, @@ -26,6 +27,7 @@ class AgentBotDashboard < Administrate::BaseDashboard COLLECTION_ATTRIBUTES = %i[ id avatar_url + account name outgoing_url ].freeze @@ -34,7 +36,7 @@ class AgentBotDashboard < Administrate::BaseDashboard # an array of attributes that will be displayed on the model's show page. SHOW_PAGE_ATTRIBUTES = %i[ id - avatar_url + account name description outgoing_url @@ -45,6 +47,7 @@ class AgentBotDashboard < Administrate::BaseDashboard # on the model's form (`new` and `edit`) pages. FORM_ATTRIBUTES = %i[ name + account description outgoing_url ].freeze diff --git a/app/fields/avatar_field.rb b/app/fields/avatar_field.rb index 50633ccd2..a9674eb94 100644 --- a/app/fields/avatar_field.rb +++ b/app/fields/avatar_field.rb @@ -2,6 +2,6 @@ require 'administrate/field/base' class AvatarField < Administrate::Field::Base def avatar_url - data.presence || '/admin/avatar.png' + data.presence&.gsub('?d=404', '?d=mp') end end diff --git a/app/models/platform_app_permissible.rb b/app/models/platform_app_permissible.rb index 14b804e84..94852dbac 100644 --- a/app/models/platform_app_permissible.rb +++ b/app/models/platform_app_permissible.rb @@ -16,11 +16,9 @@ # unique_permissibles_index (platform_app_id,permissible_id,permissible_type) UNIQUE # class PlatformAppPermissible < ApplicationRecord - include AccessTokenable - validates :platform_app, presence: true validates :platform_app_id, uniqueness: { scope: [:permissible_id, :permissible_type] } belongs_to :platform_app - belongs_to :permissible, polymorphic: true, dependent: :destroy_async + belongs_to :permissible, polymorphic: true end diff --git a/app/views/fields/avatar_field/_index.html.erb b/app/views/fields/avatar_field/_index.html.erb index 61f2eff47..408739ece 100644 --- a/app/views/fields/avatar_field/_index.html.erb +++ b/app/views/fields/avatar_field/_index.html.erb @@ -1 +1 @@ -<%= image_tag field.avatar_url %> +<%= image_tag field.avatar_url if field.avatar_url.present? %> diff --git a/app/views/fields/avatar_field/_show.html.erb b/app/views/fields/avatar_field/_show.html.erb index 61f2eff47..408739ece 100644 --- a/app/views/fields/avatar_field/_show.html.erb +++ b/app/views/fields/avatar_field/_show.html.erb @@ -1 +1 @@ -<%= image_tag field.avatar_url %> +<%= image_tag field.avatar_url if field.avatar_url.present? %> diff --git a/app/views/super_admin/application/_navigation.html.erb b/app/views/super_admin/application/_navigation.html.erb index d55927c86..fb4fd9018 100644 --- a/app/views/super_admin/application/_navigation.html.erb +++ b/app/views/super_admin/application/_navigation.html.erb @@ -17,7 +17,8 @@ as defined by the routes in the `admin/` namespace super_admins: 'ion ion-unlocked', access_tokens: 'ion-key', platform_apps: 'ion ion-social-buffer', - installation_configs: 'ion ion-settings' + installation_configs: 'ion ion-settings', + agent_bots: 'ion ion-social-android', } %> @@ -39,7 +40,7 @@ as defined by the routes in the `admin/` namespace <% Administrate::Namespace.new(namespace).resources.each do |resource| %> - <% next if ["account_users", "agent_bots", "dashboard", "devise/sessions", "app_configs" ].include? resource.resource %> + <% next if ["account_users", "dashboard", "devise/sessions", "app_configs" ].include? resource.resource %>