Commit f2da6ac6f656fbb559840538f02ae74957aeef3d

Authored by Cyril Mougel
1 parent e25d8eb4
Exists in master and in 1 other branch production

Fix ical generation

The ical generation failed in some case like report on #343. Now the
ical generation work.

fix #343
app/helpers/application_helper.rb
@@ -8,11 +8,11 @@ module ApplicationHelper @@ -8,11 +8,11 @@ module ApplicationHelper
8 notices.each_with_index do |notice,idx| 8 notices.each_with_index do |notice,idx|
9 cal.event do |event| 9 cal.event do |event|
10 event.summary = "#{idx+1} #{notice.message.to_s}" 10 event.summary = "#{idx+1} #{notice.message.to_s}"
11 - event.description = notice.request['url'] 11 + event.description = notice.url if notice.url
12 event.dtstart = notice.created_at.utc 12 event.dtstart = notice.created_at.utc
13 event.dtend = notice.created_at.utc + 60.minutes 13 event.dtend = notice.created_at.utc + 60.minutes
14 event.organizer = notice.server_environment && notice.server_environment["hostname"] 14 event.organizer = notice.server_environment && notice.server_environment["hostname"]
15 - event.location = notice.server_environment && notice.server_environment["project-root"] 15 + event.location = notice.project_root
16 event.url = app_problem_url(:app_id => notice.problem.app.id, :id => notice.problem) 16 event.url = app_problem_url(:app_id => notice.problem.app.id, :id => notice.problem)
17 end 17 end
18 end 18 end
app/models/notice.rb
@@ -114,6 +114,15 @@ class Notice @@ -114,6 +114,15 @@ class Notice
114 app.notification_service.notify_at_notices.include?(0) || app.notification_service.notify_at_notices.include?(similar_count) 114 app.notification_service.notify_at_notices.include?(0) || app.notification_service.notify_at_notices.include?(similar_count)
115 end 115 end
116 116
  117 + ##
  118 + # TODO: Move on decorator maybe
  119 + #
  120 + def project_root
  121 + if server_environment
  122 + server_environment['project-root'] || ''
  123 + end
  124 + end
  125 +
117 protected 126 protected
118 127
119 def decrease_counter_cache 128 def decrease_counter_cache
@@ -138,6 +147,7 @@ class Notice @@ -138,6 +147,7 @@ class Notice
138 end 147 end
139 end 148 end
140 149
  150 +
141 def sanitize_hash(h) 151 def sanitize_hash(h)
142 h.recurse do 152 h.recurse do
143 |h| h.inject({}) do |h,(k,v)| 153 |h| h.inject({}) do |h,(k,v)|
spec/helpers/application_helper_spec.rb
@@ -10,3 +10,12 @@ require 'spec_helper' @@ -10,3 +10,12 @@ require 'spec_helper'
10 # end 10 # end
11 # end 11 # end
12 # end 12 # end
  13 +
  14 +describe ApplicationHelper do
  15 + let(:notice) { Fabricate(:notice) }
  16 + describe "#generate_problem_ical" do
  17 + it 'return the ical format' do
  18 + helper.generate_problem_ical([notice])
  19 + end
  20 + end
  21 +end