Commit 0ecc2dc82cf2bf5da15e2ce3bbf19c53d1a6b201

Authored by Fabio Teixeira
1 parent ec878130

Add software events block

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
src/noosfero-spb/software_communities/lib/software_communities_plugin.rb
... ... @@ -43,7 +43,8 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
43 43 SoftwareHighlightsBlock => { :type => [Environment] },
44 44 SoftwareTabDataBlock => {:type => [Community], :position => 1},
45 45 WikiBlock => {:type => [Community]},
46   - StatisticBlock => { :type => [Community] }
  46 + StatisticBlock => { :type => [Community] },
  47 + SoftwareEventsBlock => { :type => [Community], :position => 1 }
47 48 }
48 49 end
49 50  
... ...
src/noosfero-spb/software_communities/lib/software_events_block.rb 0 → 100644
... ... @@ -0,0 +1,28 @@
  1 +class SoftwareEventsBlock < Block
  2 +
  3 + def self.description
  4 + _('Software community events')
  5 + end
  6 +
  7 + def help
  8 + _('This block displays the software community events in a list.')
  9 + end
  10 +
  11 + def content(args={})
  12 + today = DateTime.now.beginning_of_day
  13 + events = self.owner.events.where("start_date >= ? AND end_date >= ?", today, today).order(:start_date)
  14 +
  15 + block = self
  16 +
  17 + lambda do |object|
  18 + render(
  19 + :file => 'blocks/software_events',
  20 + :locals => { :block => block, :events => events }
  21 + )
  22 + end
  23 + end
  24 +
  25 + def cacheable?
  26 + false
  27 + end
  28 +end
... ...
src/noosfero-spb/software_communities/views/blocks/_software_events_list_item.html.erb 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +<div class="software-events-list-item">
  2 + <div class="software-events-list-item-calendar"></div>
  3 +
  4 + <div class="software-events-list-item-date">
  5 + <%= event.start_date.strftime "%m/%d" %>
  6 + </div>
  7 +
  8 + <div class="software-events-list-item-title">
  9 + <%= link_to event.title, event.url %>
  10 + </div>
  11 +</div>
... ...
src/noosfero-spb/software_communities/views/blocks/software_events.html.erb 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +<div class="software-community-events-block">
  2 + <% if not events.empty? %>
  3 +
  4 + <ul class="software-community-events-list">
  5 + <% events.each do |event| %>
  6 + <li>
  7 + <%= render :partial=>"blocks/software_events_list_item",
  8 + :locals => {:event => event} %>
  9 + </li>
  10 + <% end %>
  11 + </ul>
  12 +
  13 + <% else %>
  14 + <div class="software-community-events-no-event">
  15 + <%= _("This community does not have any events yet") %>
  16 + </div>
  17 + <% end %>
  18 +</div>
0 19 \ No newline at end of file
... ...