Sha256: c3d54ce11879baee231dff83f84af969959e7fe613a05969611bd6bcffe2ad07

Contents?: true

Size: 1.64 KB

Versions: 15

Compression:

Stored size: 1.64 KB

Contents

class Admin::MembershipsController < ApplicationController
    
  before_filter :find_reader_and_group
  
  def index
    redirect_to admin_group_url(@group)
  end
  
  def create
    @membership = Membership.find_or_create_by_reader_id_and_group_id(@reader.id, @group.id)
    respond_to do |format|
      format.html { 
        flash[:notice] = "#{@reader.preferred_name} added to group #{@group.name}"
        redirect_to admin_group_url(@group) 
      }
      format.js { render :partial => 'reader' }
    end
  end
  
  def destroy
    @membership ||= @group.memberships.find(params[:id])
    @reader = @membership.reader
    @membership.delete if @membership
    respond_to do |format|
      format.html { 
        flash[:notice] = "#{@reader.preferred_name} removed from group #{@group.name}" if @membership
        redirect_to admin_group_url(@group) 
      }
      format.js { render :partial => 'reader' }
    end
  end
  
  def toggle
    if @membership = Membership.find_by_reader_id_and_group_id(@reader.id, @group.id)
      destroy
    else
      create
    end
  end
  
  def edit
    @membership = @group.memberships.find(params[:id])
    respond_to do |format|
      format.js { render :partial => 'admin/memberships/role_form' }
    end
  end

  def update
    @membership = @group.memberships.find(params[:id])
    @membership.update_attributes(params[:membership])
    @membership.save!
    respond_to do |format|
      format.js { render :partial => 'admin/memberships/role' }
    end
  end
  
protected

  def find_reader_and_group
    @group = Group.find(params[:group_id])
    @reader = Reader.find(params[:reader_id]) if params[:reader_id]
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
radiant-reader-extension-3.0.38 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.37 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.36 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.35 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.33 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.32 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.31 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.30 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.29 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.28 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.27 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.26 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.25 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.24 app/controllers/admin/memberships_controller.rb
radiant-reader-extension-3.0.23 app/controllers/admin/memberships_controller.rb