Class NewslettersController
In: app/controllers/newsletters_controller.rb
Parent: ApplicationController

Methods

create   deliver_issue   destroy   edit   index   new   show   subscriptions   update  

Public Instance methods

[Source]

    # File app/controllers/newsletters_controller.rb, line 25
25:   def create
26:     @newsletter = Newsletter.new(params[:newsletter])
27:     respond_to do |format|
28:       if @newsletter.save
29:         flash[:notice] = t(:newsletter_created)
30:         format.html { redirect_to(@newsletter) }
31:         format.xml  { render :xml => @newsletter, :status => :created, :location => @newsletter }
32:       else
33:         format.html { render :action => "new" }
34:         format.xml  { render :xml => @newsletter.errors, :status => :unprocessable_entity }
35:       end
36:     end
37:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 13
13:   def deliver_issue
14:     @newsletter = Newsletter.find(params[:id])
15:     @newsletter_issue = @newsletter.newsletter_issues.find(params[:newsletter_issue_id])
16:     @newsletter_deliveries = @newsletter.newsletter_deliveries || []
17:     render :layout => false
18:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 59
59:   def destroy
60:     @newsletter = Newsletter.find(params[:id])
61:     @newsletter.destroy
62:     flash[:notice] = "Successfully destroyed newsletter."
63:     redirect_to newsletters_url
64:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 39
39:   def edit
40:     @newsletter = Newsletter.find(params[:id])
41:   end

[Source]

   # File app/controllers/newsletters_controller.rb, line 5
5:   def index
6:     @newsletters = Newsletter.all
7:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 20
20:   def new
21:     @newsletter = Newsletter.new
22:     @newsletter.footer = "--\n#{t(:unsubscribe_url_label)}: SUBSCRIPTION_URL"
23:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 9
 9:   def show
10:     @newsletter = Newsletter.find(params[:id])
11:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 66
66:   def subscriptions
67:     case params[:commit]
68:     when t(:check_to_block_your_mail_from_all_newsletters)
69:       block = NewsletterBlacklist.new(:mail => params[:mail])
70:       if block.save
71:         flash[:notice] = t(:address_blacklisted, :mail => decode64(params[:mail]))
72:         NewsletterSubscription.find_all_by_mail(decode64(params[:mail])).each do |s|
73:           s.destroy
74:         end
75:       else
76:         flash[:error] = block.errors.map{|e| e[0] + ": " + e[1]}.join("<br/>")
77:       end
78:     when t(:unsubscribe_text)
79:       msg = ""
80:       if  params[:subscription] && params[:subscription][:newsletters]
81:         params[:subscription][:newsletters].each_with_index do |newsletter,idx|
82:           subscription = NewsletterSubscription.find_by_newsletter_id_and_mail(newsletter,decode64(params[:mail]))
83:           if subscription 
84:             msg += "Remove newsletter subscription #{subscription.newsletter.title} (#{subscription.mail})<br/>"
85:             subscription.destroy
86:           end
87:         end
88:       else
89:         msg += t(:no_newsletters_selected)
90:       end
91:       flash[:notice] = msg
92:     end
93:     
94:     @newsletter_subscriptions = NewsletterSubscription.find_all_by_mail_and_token(
95:         decode64(params[:mail]), params[:token])
96:         
97:   end

[Source]

    # File app/controllers/newsletters_controller.rb, line 43
43:   def update
44:     @newsletter = Newsletter.find(params[:id])
45:    respond_to do |format|
46:       if @newsletter.update_attributes(params[:newsletter])
47:         flash[:notice] = t(:newsletter_successfully_updated)
48:         format.html {           
49:           redirect_to(newsletter_path(@newsletter)) 
50:           }
51:         format.xml  { head :ok }
52:       else
53:         format.html { render :action => "edit" }
54:         format.xml  { render :xml => @newsletter.errors, :status => :unprocessable_entity }
55:       end
56:     end
57:   end

[Validate]