Sha256: 86f444b2ce261128952cb38aff509c734a48ee22a018d2fea801c25f0e8c11dc

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 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

2 entries across 2 versions & 1 rubygems

Version Path
parlement-0.12 app/controllers/subscriber_controller.rb
parlement-0.11 app/controllers/subscriber_controller.rb