diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index e2d3e17..bfce0a4 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -101,6 +101,12 @@ class NeuigkeitenController < ApplicationController authorize! :publish, @neuigkeit render template: "news_mailer/neuigkeit_mail", layout: false end + def newsletter_preview + authorize! :publish, Neuigkeit + @neuigkeiten=Neuigkeit.accessible_by(current_ability).where("cache_order<2") + render template: "news_mailer/daily_newsletter", layout: false + + end def edit @neuigkeit = Neuigkeit.find(params[:id]) @neuigkeit.no_fallbacks=true diff --git a/app/mailers/news_mailer.rb b/app/mailers/news_mailer.rb index b82e834..e00a7c9 100644 --- a/app/mailers/news_mailer.rb +++ b/app/mailers/news_mailer.rb @@ -8,7 +8,6 @@ class NewsMailer < ActionMailer::Base def daily_newsletter(user_id) user=User.find(user_id) ability= Ability.new(user) - @neuigkeiten=Neuigkeit.accessible_by(ability).where(:cache_order<2) - + @neuigkeiten=Neuigkeit.accessible_by(ability).published_scope.where("cache_order<2") end end diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index f1db318..a461e20 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -132,7 +132,9 @@ class Neuigkeit < ActiveRecord::Base self.has_calentries? end def relevant_calentry - self.calentries.min_by{|c| c.days_to_today * 1.3 * ((c.is_past?)? 2:1)} + ce = self.calentries.min_by{|c| c.days_to_today * 1.3 * ((c.is_past?)? 2:1)} if self.is_event? + ce= self.meeting.calentry if self.has_meeting? + ce end def update_cache if self.has_meeting? && !self.meeting.calentry.nil? diff --git a/app/views/news_mailer/daily_newsletter.html.erb b/app/views/news_mailer/daily_newsletter.html.erb new file mode 100644 index 0000000..3d10969 --- /dev/null +++ b/app/views/news_mailer/daily_newsletter.html.erb @@ -0,0 +1,9 @@ + +<% @neuigkeiten.each do |n| %> +<% if n.is_annoncement? || n.is_event? %> +<%= n.rubrik.icon_name %> |<%= n.relevant_calentry.text %> | + +<% end %> + <%= render n %> +
+<% end %> diff --git a/config/routes.rb b/config/routes.rb index 32d952c..94a086e 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -130,8 +130,12 @@ get 'publish_to_facebook' get 'mail_to_fet' get 'mail_preview' + end - end + collection do + get 'newsletter_preview' + end + end end resources :home, :only=>[:index] do