Noosfero/noosfero

View on GitHub
plugins/admin_notifications/lib/admin_notifications_plugin.rb

Summary

Maintainability
A
0 mins
Test Coverage
class AdminNotificationsPlugin < Noosfero::Plugin
  def self.plugin_name
    "Notifications Plugin"
  end

  def self.plugin_description
    _("A plugin for notifications.")
  end

  def stylesheet?
    true
  end

  def js_files
    %w(
      admin_notifications_plugin.js
    )
  end

  def body_beginning
    lambda do
      extend AdminNotificationsPlugin::NotificationHelper
      render template: "shared/show_notification"
    end
  end

  def admin_panel_links
    { title: _("Notification Manager"), url: { controller: "admin_notifications_plugin_admin", action: "index" } }
  end

  def control_panel_entries
    [AdminNotificationsPlugin::ControlPanel::AdminNotifications]
  end

  def account_controller_filters
    block = proc do
      if !logged_in?
        cookies[:hide_notifications] = nil
      end
    end

    [{
      type: "after_action",
      method_name: "clean_hide_notifications_cookie",
      options: {},
      block: block
    }]
  end
end