Sha256: 20d011837ff2b3cac9429438563ffce74c4adafc37bc8cfdb6d34d33cbd384f9

Contents?: true

Size: 955 Bytes

Versions: 5

Compression:

Stored size: 955 Bytes

Contents

class GroupsController < ReaderActionController
  helper :reader
  
  before_filter :require_reader
  before_filter :get_group_or_groups
  before_filter :require_group_visibility, :only => [:show]

  def index
  end

  def show
    @readers = @group.readers.uniq
    respond_to do |format|
      format.html
      format.csv {
        send_data Reader.csv_for(@readers), :type => 'text/csv; charset=utf-8; header=present', :filename => "#{@group.filename}.csv"
      }
      format.vcard {
        send_data Reader.vcards_for(@readers), :filename => "everyone.vcf"
      }
    end
  end
    
private
  
  def get_group_or_groups
    @groups = current_reader.groups
    @group = Group.find(params[:id]) if params[:id]
  end

  def require_group_visibility
     if @group && !@group.visible_to?(current_reader)    # nb. @groups is a smaller set
       raise ReaderError::AccessDenied, "That group is not public and you are not in it."
     end
  end
  
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
radiant-reader-extension-3.0.38 app/controllers/groups_controller.rb
radiant-reader-extension-3.0.37 app/controllers/groups_controller.rb
radiant-reader-extension-3.0.36 app/controllers/groups_controller.rb
radiant-reader-extension-3.0.35 app/controllers/groups_controller.rb
radiant-reader-extension-3.0.33 app/controllers/groups_controller.rb