From c0059b684635da48d6f1858fcb67f31b95641312 Mon Sep 17 00:00:00 2001 From: echarp Date: Thu, 2 Jan 2014 01:32:32 +0100 Subject: [PATCH] =?UTF-8?q?Le=20flux=20rss=20utilise=20la=20vue=20html=20p?= =?UTF-8?q?our=20constituer=20la=20description=20des=20=C3=A9v=C3=A9nement?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/stylesheets/events.css.sass | 3 +++ app/models/region.rb | 2 +- app/views/events/index.rss.builder | 28 ++++---------------------- app/views/events/show.html.haml | 18 +++++++---------- config/initializers/mime_types.rb | 2 +- 5 files changed, 16 insertions(+), 37 deletions(-) diff --git a/app/assets/stylesheets/events.css.sass b/app/assets/stylesheets/events.css.sass index 99c27973..2f87cf63 100644 --- a/app/assets/stylesheets/events.css.sass +++ b/app/assets/stylesheets/events.css.sass @@ -47,6 +47,9 @@ table.calendar color: #544f32 font-size: 0.8em margin-top: -1px + .event + a:link, a:visited + color: #8F4900 &.future border-color: rgb(150, 207, 255) background-color: #C6E5FF diff --git a/app/models/region.rb b/app/models/region.rb index 574551ed..442af21c 100644 --- a/app/models/region.rb +++ b/app/models/region.rb @@ -1,5 +1,5 @@ class Region < ActiveRecord::Base has_many :lugs, foreign_key: :region - default_scope order(:name) + default_scope { order(:name) } end diff --git a/app/views/events/index.rss.builder b/app/views/events/index.rss.builder index c334d8ed..38687759 100644 --- a/app/views/events/index.rss.builder +++ b/app/views/events/index.rss.builder @@ -28,31 +28,11 @@ xml.tag! 'rdf:RDF', 'xmlns:rdf' => "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml.link event_url event xml.tag! 'dc:identifier', "#{event.id}@agendadulibre.org" xml.tag! 'dc:date', event.start_time - xml.tag! 'georss:point', City.find_all_by_majname(event.city.upcase).collect { |c| "#{c.latitude} #{c.longitude}" }.first + city = City.find_by_majname event.city.gsub('-', ' ').upcase + xml.tag! 'georss:point', "#{city.latitude} #{city.longitude}" rescue nil - content = "

#{event.city}: #{event.title}

-

Date et lieu

" - if event.same_day? - content += " -

Le #{l event.start_time.to_date, format: :long}, - de #{l event.start_time, format: :hours} à #{l event.end_time, format: :hours}.

-

À #{link_to event.city, 'http://fr.wikipedia.org/wiki/'+event.city}, - #{link_to event.region.name, 'http://fr.wikipedia.org/wiki/'+event.region.name}

" - else - content += " -

Du #{l event.start_time, format: :at} au #{l event.end_time, format: :at}.

" - end - content += " -

Description

- #{event.description} -

Informations

-

Site Web: #{event.url}

-

Contact: #{mail_to event.contact.gsub('@', ' CHEZ ').gsub('.', ' POINT '), event.contact.gsub('@', ' CHEZ ').gsub('.', ' POINT ')}

- " - - if (event.tags && event.tags.present?) - content += "

Tags: #{event.tags.split.collect { |tag| link_to tag, events_url(tag: tag) }.join(', ')}

" - end + @event = event + content = render file: '/events/show.html', locals: { rss: true } xml.description strip_tags(content) xml.tag! 'content:encoded', content diff --git a/app/views/events/show.html.haml b/app/views/events/show.html.haml index 86fd3ca3..3c8bbf38 100644 --- a/app/views/events/show.html.haml +++ b/app/views/events/show.html.haml @@ -1,6 +1,6 @@ -%p#notice= notice +- if request.format == 'text/html' + %p#notice= notice -- if @event.id #lug-list %h1=t '.lug-list' - if @event.region @@ -14,13 +14,11 @@ = link_to t('.add_to_calendar'), root_url %h2 - %em - = @event.city - \: + %em= @event.city + \: = @event.title -%h3 - Date et lieu +%h3 Date et lieu %p - if @event.same_day? @@ -34,8 +32,7 @@ %p À - %em - = link_to(@event.city, "http://fr.wikipedia.org/wiki/#{@event.city}") + ',' + %em= link_to(@event.city, "http://fr.wikipedia.org/wiki/#{@event.city}") + ',' = link_to @event.region.name, "http://fr.wikipedia.org/wiki/#{@event.region.name}" rescue nil %h3 Description @@ -52,5 +49,4 @@ - if (@event.tags && @event.tags.present?) %p Tags: - - @event.tags.split.each do |tag| - = link_to tag, events_url(tag: tag) + =raw @event.tags.split.collect { |tag| link_to tag, events_url(tag: tag) }.join(', ') diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb index 6139ff10..0db739a3 100644 --- a/config/initializers/mime_types.rb +++ b/config/initializers/mime_types.rb @@ -4,4 +4,4 @@ # Mime::Type.register "text/richtext", :rtf # Mime::Type.register_alias "text/html", :iphone -Mime::Type.register "text/xml", :rss +Mime::Type.register_alias "text/xml", :rss