diff --git a/app/models/meeting.rb b/app/models/meeting.rb
index f05659d..847636c 100644
--- a/app/models/meeting.rb
+++ b/app/models/meeting.rb
@@ -7,7 +7,7 @@ class Meeting < ActiveRecord::Base
belongs_to :neuigkeit, touch: true
has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent
has_one :agenda , :as=>:parent,:conditions=>{:typ=>11}, :class_name=>'Document'
- has_one :calentry, as: :object
+ has_one :calentry, as: :object, :dependent=> :destroy
has_one :calendar, :through=>:meetingtyp
has_one :rubrik, :through=>:meetingtyp
scope :upcomming, includes(:calentry).where("calentries.start>?",1.hour.ago)
diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb
index d7afddf..32a1dc4 100755
--- a/app/models/neuigkeit.rb
+++ b/app/models/neuigkeit.rb
@@ -17,8 +17,8 @@ class Neuigkeit < ActiveRecord::Base
belongs_to :author, :class_name =>'User'
belongs_to :rubrik, :class_name =>'Rubrik', :foreign_key => "rubrik_id"
has_one :calendar, through: :rubrik
- has_many :calentries, as: :object
- has_many :nlinks
+ has_many :calentries, as: :object, :dependent=> :destroy
+ has_many :nlinks, :dependent=> :destroy
has_one :meeting
has_many :attachments, :as=>:parent
diff --git a/app/views/rubriken/index.html.erb b/app/views/rubriken/index.html.erb
index ffe072b..a164f1a 100755
--- a/app/views/rubriken/index.html.erb
+++ b/app/views/rubriken/index.html.erb
@@ -1,48 +1,50 @@
<%= content_for :header do %>
-
Fetsite - <%= I18n.t('home.news') %>
-<% set_meta_tags :og => {
-:title => "Fetsite - "+I18n.t('home.news'),
-:url=> rubriken_path(:theme=>nil)
-}
-%>
-<%= display_meta_tags %>
+ Fetsite - <%= I18n.t('home.news') %>
+ <% set_meta_tags :og => {
+ :title => "Fetsite - "+I18n.t('home.news'),
+ :url=> rubriken_path(:theme=>nil)
+ }
+ %>
+ <%= display_meta_tags %>
<% end %>
<%= render 'tabs' %>
<%= notice %>
-
-
-
+
+
+
-
<%= I18n.t("rubrik.title")%>
-
-
-
+
<%= I18n.t("rubrik.title")%>
+
+
+
-
+
-
- <% @neuigkeiten.each do |n| %>
- - <%= render n %>
- <% end %>
-
+
+ <% @neuigkeiten.each do |n| %>
+ - <%= render n %>
+ <% end %>
+
-
-<%= paginate @neuigkeiten, theme:'twitter-bootstrap' %>
-
+
+ <%= paginate @neuigkeiten, theme:'twitter-bootstrap' %>
+
-
+
-
+
-<% cache("calendar_" + @calentries.map{|c| c.id}.join('') + @calentries.max{|c|c.updated_at.to_i}.updated_at.to_i.to_s+"_"+I18n.locale.to_s+params[:month].to_s+params[:year].to_s) do %>
-<%= render 'calendars/calentries', :object=>@calentries %>
-<% end %>
-
-
-
-
+ <% cache("calendar_" + @calentries.map{|c| c.id}.join('') + @calentries.max{|c|c.updated_at.to_i}.updated_at.to_i.to_s+"_"+I18n.locale.to_s+params[:month].to_s+params[:year].to_s) do %>
+ <%= render 'calendars/calentries', :object=>@calentries %>
+ <% end %>
+ <% if current_user.has_role?(:fetuser) %>
+ <%= link_to calendars_path(:format=>:ics, :key=>Key.find_or_create(current_user,1).uuid) , calendars_path(:format=>:ics, :key=>Key.find_or_create(current_user,1).uuid)%>
+ <% end %>
+
+
+
diff --git a/app/views/rubriken/show.html.erb b/app/views/rubriken/show.html.erb
index 928bbb3..5e9f274 100755
--- a/app/views/rubriken/show.html.erb
+++ b/app/views/rubriken/show.html.erb
@@ -52,7 +52,11 @@
<%= render 'calendars/calentries', :object=>@calentries %>
<% end %>
<% end %>
-<%= link_to "ics-format", calendar_path(@rubrik.calendar,:format=>:ics,:key=>current_user.nil? ? nil : Key.where(typ: 1, user_id: current_user.id,is_valid: true).last.try(:uuid)) %>
+<% if current_user.has_role?(:fetuser) %>
+ <%= link_to calendar_path(@rubrik.calendar,:format=>:ics, :key=>Key.find_or_create(current_user,1).uuid) , calendars_path(:format=>:ics, :key=>Key.find_or_create(current_user,1).uuid)%>
+<% end %>
+
+