Sha256: 512d1e2ae9f25fae2d11fdc5ae71f62399dcbdc718a751a614e0c1cace23858a

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

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

		if @person
			if @elt.subscribers.include?(@person)
				Subscription.find_by_person_id_and_elt_id(@person.id, @elt.id).destroy
				logger.info yellow { "User #{@person.name} unsubscribed from #{@elt.subject}..." }
			elsif @elt.all_recipients.include?(@person)
				elt2 = @elt
				elt2 = elt2.parent until elt2.subscribers.include?(@person)
				Subscription.find_by_person_id_and_elt_id(@person.id, elt2.id).destroy
				logger.info yellow { "User #{@person.name} unsubscribed from #{elt2.subject}..." }
			else
				@elt.subscriptions.create :person => @person, :filter => filter
				logger.info yellow { "User #{@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 => '/elt/list/subscribers'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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