Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Nice interface to edit Cantango's permissions (project abandoned)

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
lib
script
spec
.gitignore
.rspec
Gemfile
Gemfile.lock
MIT-LICENSE
README.md
Rakefile
VERSION
cantango_editor.gemspec

README.md

CantangoEditor

Cantango Editor is a Rails mountable Engine providing web-interface for editing CanTango gem's permissions for any Rails 3 app.

What it does

It is no more than a nice-looking wrapper interface which is used for editing permissions stored in special yaml file: default is a config/permissions.yml. See "Yaml Permissions store" section on Permissions for more details.

Installiation

Prerequisites

CantangoEditor assumes that you're on Rails 3.1 and using CanTango gem with Permission engine enabled

Not a Gem yet

include in Gemfile:

gem 'cantango_editor', :git => "git://github.com/stanislaw/cantango_editor.git"
bundle update

Set up models, types, groups and actions you're gonna have in your app

To understand Cantango's permission_engine's options better please see wiki on Cantango's Permissions.

Create file cantango_editor.rb in config/initializers and write there:

# Your_app's root/config/initializers/cantango_editor.rb
CantangoEditor.configure do |config|

  # Permission types to be displayed in interface
  # default: [:user_types, :account_types, :roles, :role_groups, :licenses, :users]
  config.permission_types_available = [:roles, :user_types] 

  # If you do not enumerate all permission_types here - 
  # those that are unmentioned here will just appear empty, having no permission_groups.
  # default: { :roles => [:admin, :user] }. 
  config.permission_groups_available = { :roles => [:guest, :user], :user_types => [:admin] }

  # default: all Models extracted from ActiveRecord's tables list
  config.models_available = config.models_default - [Admin, CustomSession]

  # Cancan's actions
  # default: [:create, :read, :update, :delete, :manage]
  config.actions_available = config.actions_default | [:write, :assign_roles]
end

And mount CantangoEditor somewhere in your app:

# Your_app's root/config/routes.rb

mount CantangoEditor::Engine => "/cantango_editor"

Important note!

Cantango is heavily based on CanCan authorization system. If you want to have good understanding of how Cantango's permissions rules work we recommend you to read carefully these sections from CanCan's wiki:

Todo:

  • Interface for categories too
  • As always more and better tests
  • Remove 'dev notes' link ;)

Credits:

Something went wrong with that request. Please try again.