| Class | NewslettersController |
| In: |
app/controllers/newsletters_controller.rb
|
| Parent: | ApplicationController |
# 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
# 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
# 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
# File app/controllers/newsletters_controller.rb, line 39
39: def edit
40: @newsletter = Newsletter.find(params[:id])
41: end
# File app/controllers/newsletters_controller.rb, line 5 5: def index 6: @newsletters = Newsletter.all 7: end
# 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
# File app/controllers/newsletters_controller.rb, line 9
9: def show
10: @newsletter = Newsletter.find(params[:id])
11: end
# 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
# 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