Class NewsletterSubscriptionsController
In: app/controllers/newsletter_subscriptions_controller.rb
Parent: ApplicationController

Methods

create   destroy   edit   index   new   update  

Public Instance methods

[Source]

    # File app/controllers/newsletter_subscriptions_controller.rb, line 21
21:   def create
22:     @newsletter_subscription = @newsletter.newsletter_subscriptions.build(params[:newsletter_subscription])
23:     
24:     addresses = params[:newsletter_subscription][:mail].split(/[,|\s|;]/).reject { |x| x.blank? }
25:     
26:     if addresses.length == 1
27:       @newsletter_subscription = @newsletter.newsletter_subscriptions.build(params[:newsletter_subscription])
28:     else
29:       params[:mode] += "_BULK"
30:     end
31:     
32:     case params[:mode]
33:     when 'add_BULK'
34:       cnt_before = @newsletter.newsletter_subscriptions.count
35:       addresses.each do |addr|
36:         @newsletter.newsletter_subscriptions.create(:mail => addr) if NewsletterBlacklist.find_by_mail(addr).nil?
37:       end
38:       flash[:notice] = "Added #{@newsletter.newsletter_subscriptions.count-cnt_before} new addresses."
39:       redirect_to newsletter_newsletter_subscriptions_path(@newsletter)
40:       return false
41:     when 'remove_BULK'
42:       subs = @newsletter.newsletter_subscriptions.find_all_by_mail(addresses)
43:       flash[:notice] = "Removing"
44:       subs.each do |s|
45:         s.destroy
46:       end
47:       redirect_to newsletter_newsletter_subscriptions_path(@newsletter)
48:       return false
49:     when 'add'
50:       respond_to do |format|
51:          if @newsletter_subscription.save
52:            flash[:notice] = 'newsletter_subscription was successfully created.'
53:            format.html { redirect_to( newsletter_newsletter_subscriptions_path(@newsletter)) }
54:            format.xml  { render :xml => @newsletter_subscription, :status => :created, :location => @newsletter_subscription }
55:          else
56:            format.html { render :action => "new" }
57:            format.xml  { render :xml => @newsletter_subscription.errors, :status => :unprocessable_entity }
58:          end
59:       end  
60:       return false
61:     when 'remove'
62:       subscription = @newsletter.newsletter_subscriptions.find_by_mail(params[:newsletter_subscription][:mail])
63:       if subscription
64:         subscription.delete
65:         redirect_to newsletter_newsletter_subscriptions_path(@newsletter)
66:         return false
67:       else
68:         flash[:error] = t(:subscription_not_found)
69:       end
70:     else
71:       flash[:notice] = "Unknown Mode in #{__FILE__}, #{__LINE__}, #{params[:mode]}"
72:     end
73:     render :action => "new"
74:   end

[Source]

    # File app/controllers/newsletter_subscriptions_controller.rb, line 76
76:   def destroy
77:     @newsletter_subscription = @newsletter.newsletter_subscriptions.find(params[:id])
78:     @newsletter_subscriptions.destroy
79:     flash[:notice] = t(:subscription_destroyed)
80:     redirect_to @newsletter
81:   end

[Source]

    # File app/controllers/newsletter_subscriptions_controller.rb, line 13
13:   def edit
14:     @newsletter_subscription = @newsletter.newsletter_subscriptions.find(params[:id])
15:   end

[Source]

   # File app/controllers/newsletter_subscriptions_controller.rb, line 5
5:   def index
6:     @newsletter_subscriptions = @newsletter.newsletter_subscriptions
7:   end

[Source]

    # File app/controllers/newsletter_subscriptions_controller.rb, line 9
 9:   def new
10:     @newsletter_subscription = @newsletter.build_newsletter_subscription.new(params[:newsletter_subscription])
11:   end

[Source]

    # File app/controllers/newsletter_subscriptions_controller.rb, line 17
17:   def update
18:     @newsletter_subscription = @newsletter.newsletter_subscriptions.find(params[:id])
19:   end

[Validate]