Sha256: eb57a9537332875334b185dbccf3ca8180c3feee4936a9f3dc82719c1ff2aa4e

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

require 'nitro/controller'
require 'nitro/helper/form'

# Provides an automatically generated Administration
# interface.

class AdminController < Nitro::Controller
  helper :form

  def self.template_root
    File.join(File.dirname(__FILE__), 'template')  
  end

  def index
    @classes = self.class.managed_classes
  end

  class << self
    # The managed classes of this application.
    
    attr_accessor :managed_classes
  
    # Called when this controller is mounted.
       
    def mounted(path)
      @managed_classes = Og.manager.manageable_classes
      @managed_classes.each { |c| scaffold(c) }
      add_security()
    end
    
    # Overload in your application to suit your
    # needs. The default implementation does NOT apply security
    # in debug mode.The default implementation requires the
    # existense of an :ADMIN key in the session, so you can
    # easily integrate this in your user/roles management code.
    
    def add_security
      unless Runner.mode == :debug
        before %{ redirect 'denied' unless session[:ADMIN] }, :except => [ :denied ]
      end
    end    
    
  end
  
end

# * George Moschovitis <gm@navel.gr>

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nitro-0.25.0 src/part/admin/controller.rb