You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

feed.atom.builder 1.4KB

12345678910111213141516171819202122232425262728293031
  1. xml.instruct!
  2. xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
  3. xml.title truncate_single_line(@title, :length => 100)
  4. xml.link "rel" => "self", "href" => url_for(params.merge(:only_path => false))
  5. xml.link "rel" => "alternate", "href" => url_for(params.merge(:only_path => false, :format => nil, :key => nil))
  6. xml.id url_for(:controller => 'welcome', :only_path => false)
  7. xml.updated((@items.first ? @items.first.event_datetime : Time.now).xmlschema)
  8. xml.author { xml.name "#{Setting.app_title}" }
  9. xml.generator(:uri => Redmine::Info.url) { xml.text! Redmine::Info.app_name; }
  10. @items.each do |item|
  11. xml.entry do
  12. url = url_for(item.event_url(:only_path => false))
  13. if @project
  14. xml.title truncate_single_line(item.event_title, :length => 100)
  15. else
  16. xml.title truncate_single_line("#{item.project} - #{item.event_title}", :length => 100)
  17. end
  18. xml.link "rel" => "alternate", "href" => url
  19. xml.id url
  20. xml.updated item.event_datetime.xmlschema
  21. author = item.event_author if item.respond_to?(:event_author)
  22. xml.author do
  23. xml.name(author)
  24. xml.email(author.mail) if author.is_a?(User) && !author.mail.blank? && !author.pref.hide_mail
  25. end if author
  26. xml.content "type" => "html" do
  27. xml.text! textilizable(item, :event_description, :only_path => false)
  28. end
  29. end
  30. end
  31. end