Files
growstuff/app/controllers/roles_controller.rb
Skud f12941576c hooked roles up to cancan
Now only admins can create/edit forums, or mess with roles.

To add an admin user:

rails c
m = Member.find('skud')
r = Role.create(:name => 'admin')
r.members << m

We'll have to do this on the server to bootstrap the admin stuff.
Though actually, we should really write a rake task to generalise this.
2013-02-20 14:53:11 +11:00

85 lines
1.8 KiB
Ruby

class RolesController < ApplicationController
load_and_authorize_resource
# GET /roles
# GET /roles.json
def index
@roles = Role.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @roles }
end
end
# GET /roles/1
# GET /roles/1.json
def show
@role = Role.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @role }
end
end
# GET /roles/new
# GET /roles/new.json
def new
@role = Role.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @role }
end
end
# GET /roles/1/edit
def edit
@role = Role.find(params[:id])
end
# POST /roles
# POST /roles.json
def create
@role = Role.new(params[:role])
respond_to do |format|
if @role.save
format.html { redirect_to @role, notice: 'Role was successfully created.' }
format.json { render json: @role, status: :created, location: @role }
else
format.html { render action: "new" }
format.json { render json: @role.errors, status: :unprocessable_entity }
end
end
end
# PUT /roles/1
# PUT /roles/1.json
def update
@role = Role.find(params[:id])
respond_to do |format|
if @role.update_attributes(params[:role])
format.html { redirect_to @role, notice: 'Role was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @role.errors, status: :unprocessable_entity }
end
end
end
# DELETE /roles/1
# DELETE /roles/1.json
def destroy
@role = Role.find(params[:id])
@role.destroy
respond_to do |format|
format.html { redirect_to roles_url }
format.json { head :no_content }
end
end
end