FIX: Show Settings button if plugin has settings (#9728)

FIX: Show Settings button if plugin has settings (#9728)

It used to check if the plugin has an enabled_setting.

diff --git a/app/assets/javascripts/admin/templates/plugins-index.hbs b/app/assets/javascripts/admin/templates/plugins-index.hbs
index b89b6e6..072f7d2 100644
--- a/app/assets/javascripts/admin/templates/plugins-index.hbs
+++ b/app/assets/javascripts/admin/templates/plugins-index.hbs
@@ -47,7 +47,7 @@
           </td>
           <td class="settings">
             {{#if currentUser.admin}}
-              {{#if plugin.enabled_setting}}
+              {{#if plugin.has_settings}}
                 {{d-button class="btn-default" action=(route-action "showSettings") actionParam=plugin icon="cog" label="admin.plugins.change_settings_short"}}
               {{/if}}
             {{/if}}
diff --git a/app/serializers/admin_plugin_serializer.rb b/app/serializers/admin_plugin_serializer.rb
index 843ca58..809773c 100644
--- a/app/serializers/admin_plugin_serializer.rb
+++ b/app/serializers/admin_plugin_serializer.rb
@@ -8,6 +8,7 @@ class AdminPluginSerializer < ApplicationSerializer
              :admin_route,
              :enabled,
              :enabled_setting,
+             :has_settings,
              :is_official
 
   def id
@@ -38,6 +39,10 @@ class AdminPluginSerializer < ApplicationSerializer
     object.enabled_site_setting
   end
 
+  def has_settings
+    SiteSetting.plugins.values.include?(id)
+  end
+
   def include_url?
     url.present?
   end

GitHub sha: 16137308

This commit appears in #9728 which was approved by eviltrout. It was merged by nbianca.