diff --git a/src/noosfero-spb/software_communities/lib/software_communities_plugin.rb b/src/noosfero-spb/software_communities/lib/software_communities_plugin.rb index d11c176..8b685bb 100644 --- a/src/noosfero-spb/software_communities/lib/software_communities_plugin.rb +++ b/src/noosfero-spb/software_communities/lib/software_communities_plugin.rb @@ -43,7 +43,8 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin SoftwareHighlightsBlock => { :type => [Environment] }, SoftwareTabDataBlock => {:type => [Community], :position => 1}, WikiBlock => {:type => [Community]}, - StatisticBlock => { :type => [Community] } + StatisticBlock => { :type => [Community] }, + SoftwareEventsBlock => { :type => [Community], :position => 1 } } end diff --git a/src/noosfero-spb/software_communities/lib/software_events_block.rb b/src/noosfero-spb/software_communities/lib/software_events_block.rb new file mode 100644 index 0000000..ca5ec33 --- /dev/null +++ b/src/noosfero-spb/software_communities/lib/software_events_block.rb @@ -0,0 +1,28 @@ +class SoftwareEventsBlock < Block + + def self.description + _('Software community events') + end + + def help + _('This block displays the software community events in a list.') + end + + def content(args={}) + today = DateTime.now.beginning_of_day + events = self.owner.events.where("start_date >= ? AND end_date >= ?", today, today).order(:start_date) + + block = self + + lambda do |object| + render( + :file => 'blocks/software_events', + :locals => { :block => block, :events => events } + ) + end + end + + def cacheable? + false + end +end diff --git a/src/noosfero-spb/software_communities/views/blocks/_software_events_list_item.html.erb b/src/noosfero-spb/software_communities/views/blocks/_software_events_list_item.html.erb new file mode 100644 index 0000000..c1f1bea --- /dev/null +++ b/src/noosfero-spb/software_communities/views/blocks/_software_events_list_item.html.erb @@ -0,0 +1,11 @@ +