Class: PermissionsController

Inherits:
AuthzController show all
Defined in:
app/controllers/permissions_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'app/controllers/permissions_controller.rb', line 33

def create
  group = Group.find_by_id(params[:group])
  return if group.nil?

  permission_selector = {
    :controller => params[:p_controller], 
    :action => params[:p_action], 
    :subject_id => params[:object],
    :group_id => group.id
  }

  if params["permission"] == "true"
    Permission.create!(permission_selector)
  else
    perms = group.permissions.find(:all, :conditions => permission_selector)        
    perms.each {|perm| perm.destroy}
  end

  respond_to do |format|
    format.js 
    format.html do
      redirect_to :back
    end
  end
end

#destroyObject



28
29
30
31
# File 'app/controllers/permissions_controller.rb', line 28

def destroy
  @permission.try(:destroy)
  redirect_to permissions_path
end

#editObject



16
17
# File 'app/controllers/permissions_controller.rb', line 16

def edit
end

#indexObject



8
9
10
# File 'app/controllers/permissions_controller.rb', line 8

def index
  @permissions = Permission.all
end

#newObject



12
13
14
# File 'app/controllers/permissions_controller.rb', line 12

def new
  @permission = Permission.new
end

#updateObject



19
20
21
22
23
24
25
26
# File 'app/controllers/permissions_controller.rb', line 19

def update
  if @permssion.update_attributes(params[:permission])
    flash[:notice] = "Permission updated"
    redirect_to permissions_path
  else
    render :action => :edit
  end
end