Commit f2da6ac6f656fbb559840538f02ae74957aeef3d
1 parent
e25d8eb4
Exists in
master
and in
1 other branch
Fix ical generation
The ical generation failed in some case like report on #343. Now the ical generation work. fix #343
Showing
3 changed files
with
21 additions
and
2 deletions
Show diff stats
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 |