Sha256: ca6b67d3550d97f5a461d80ce4dd67fd33d455241d7d23290ebf7c39b7f263b4

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

#
# Mailing list management
#
# This is to add or remove subscribers
#
class SubscriberController < ApplicationController
  def subscribe
    @elt = Elt.find params[:id]

		if @session[:person]
			if @elt.subscribers.include?(@session[:person])
				Subscription.find_by_person_id_and_elt_id(@session[:person].id, @elt.id).destroy
				logger.info yellow { "User #{@session[:person].name} unsubscribed from #{@elt.subject}..." }
			elsif @elt.all_recipients.include?(@session[:person])
				elt2 = @elt
				elt2 = elt2.parent until elt2.subscribers.include?(@session[:person])
				Subscription.find_by_person_id_and_elt_id(@session[:person].id, elt2.id).destroy
				logger.info yellow { "User #{@session[:person].name} unsubscribed from #{elt2.subject}..." }
			else
				if cookies[:filter]
					filter = cookies[:filter].to_i - 1
					filter = nil unless filter >= 0
				else
					filter = 0
				end
				@elt.subscriptions.create :person => @session[:person], :filter => filter
				logger.info yellow { "User #{@session[:person].name} subscribed to #{@elt.id} with filter #{filter}..." }
			end
		else
			puts "Not logged in!"
			#render :inline => "First you need to login... it's easy, type a pseudo with at least 3 characters. Then OK"
			flash.now[:error] = 'First you need to login!'
		end
		render :partial => 'list'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
parlement-0.10 app/controllers/subscriber_controller.rb