diff --git a/src/noosfero-spb/software_communities/db/migrate/20160104170028_changing_software_statistics_from_block_to_software_info.rb b/src/noosfero-spb/software_communities/db/migrate/20160104170028_changing_software_statistics_from_block_to_software_info.rb index 6743839..a678435 100644 --- a/src/noosfero-spb/software_communities/db/migrate/20160104170028_changing_software_statistics_from_block_to_software_info.rb +++ b/src/noosfero-spb/software_communities/db/migrate/20160104170028_changing_software_statistics_from_block_to_software_info.rb @@ -1,6 +1,6 @@ class ChangingSoftwareStatisticsFromBlockToSoftwareInfo < ActiveRecord::Migration def up - select_all("SELECT * FROM software_infos").each do |software| + select_all("SELECT * FROM software_communities_plugin_software_infos").each do |software| benefited_people = 0 saved_resources = 0 diff --git a/src/noosfero-spb/software_communities/db/migrate/20160107131641_change_software_info_structure.rb b/src/noosfero-spb/software_communities/db/migrate/20160107131641_change_software_info_structure.rb index f91c0cc..6433de7 100644 --- a/src/noosfero-spb/software_communities/db/migrate/20160107131641_change_software_info_structure.rb +++ b/src/noosfero-spb/software_communities/db/migrate/20160107131641_change_software_info_structure.rb @@ -1,6 +1,6 @@ class ChangeSoftwareInfoStructure < ActiveRecord::Migration def up - change_table :software_infos do |t| + change_table :software_communities_plugin_software_infos do |t| t.text :sisp_url t.text :agency_identification t.text :software_requirements @@ -20,26 +20,26 @@ class ChangeSoftwareInfoStructure < ActiveRecord::Migration t.integer :sisp_id end - change_column :software_infos, :finality, :text + change_column :software_communities_plugin_software_infos, :finality, :text end def down - remove_column :software_infos, :agency_identification - remove_column :software_infos, :software_requirements - remove_column :software_infos, :hardware_requirements - remove_column :software_infos, :documentation - remove_column :software_infos, :system_applications - remove_column :software_infos, :active_versions - remove_column :software_infos, :estimated_cost - remove_column :software_infos, :responsible - remove_column :software_infos, :responsible_for_acquirement - remove_column :software_infos, :system_info - remove_column :software_infos, :development_info - remove_column :software_infos, :maintenance - remove_column :software_infos, :standards_adherence - remove_column :software_infos, :platform - remove_column :software_infos, :sisp_type - remove_column :software_infos, :sisp_id - remove_column :software_infos, :sisp_url + remove_column :software_communities_plugin_software_infos, :agency_identification + remove_column :software_communities_plugin_software_infos, :software_requirements + remove_column :software_communities_plugin_software_infos, :hardware_requirements + remove_column :software_communities_plugin_software_infos, :documentation + remove_column :software_communities_plugin_software_infos, :system_applications + remove_column :software_communities_plugin_software_infos, :active_versions + remove_column :software_communities_plugin_software_infos, :estimated_cost + remove_column :software_communities_plugin_software_infos, :responsible + remove_column :software_communities_plugin_software_infos, :responsible_for_acquirement + remove_column :software_communities_plugin_software_infos, :system_info + remove_column :software_communities_plugin_software_infos, :development_info + remove_column :software_communities_plugin_software_infos, :maintenance + remove_column :software_communities_plugin_software_infos, :standards_adherence + remove_column :software_communities_plugin_software_infos, :platform + remove_column :software_communities_plugin_software_infos, :sisp_type + remove_column :software_communities_plugin_software_infos, :sisp_id + remove_column :software_communities_plugin_software_infos, :sisp_url end end diff --git a/src/noosfero-spb/software_communities/db/migrate/20160112191716_add_license_to_softwares_with_none.rb b/src/noosfero-spb/software_communities/db/migrate/20160112191716_add_license_to_softwares_with_none.rb index da37d38..2a3e599 100644 --- a/src/noosfero-spb/software_communities/db/migrate/20160112191716_add_license_to_softwares_with_none.rb +++ b/src/noosfero-spb/software_communities/db/migrate/20160112191716_add_license_to_softwares_with_none.rb @@ -1,6 +1,6 @@ class AddLicenseToSoftwaresWithNone < ActiveRecord::Migration def up - execute("UPDATE software_infos SET license_info_id=(SELECT id FROM license_infos WHERE version='Another') WHERE license_info_id IS NULL;") + execute("UPDATE software_communities_plugin_software_infos SET license_info_id=(SELECT id FROM software_communities_plugin_license_infos WHERE version='Another') WHERE license_info_id IS NULL;") end def down diff --git a/src/noosfero-spb/software_communities/db/migrate/20160114190943_add_timestamps_to_software_info.rb b/src/noosfero-spb/software_communities/db/migrate/20160114190943_add_timestamps_to_software_info.rb index 6bb4d85..b908042 100644 --- a/src/noosfero-spb/software_communities/db/migrate/20160114190943_add_timestamps_to_software_info.rb +++ b/src/noosfero-spb/software_communities/db/migrate/20160114190943_add_timestamps_to_software_info.rb @@ -1,13 +1,13 @@ class AddTimestampsToSoftwareInfo < ActiveRecord::Migration def up - change_table :software_infos do |t| + change_table :software_communities_plugin_software_infos do |t| t.datetime :created_at, :null => false, :default => Time.zone.now t.datetime :updated_at, :null => false, :default => Time.zone.now end end def down - remove_column :software_infos, :created_at - remove_column :software_infos, :updated_at + remove_column :software_communities_plugin_software_infos, :created_at + remove_column :software_communities_plugin_software_infos, :updated_at end end diff --git a/src/noosfero-spb/software_communities/lib/sisp_tab_data_block.rb b/src/noosfero-spb/software_communities/lib/sisp_tab_data_block.rb deleted file mode 100644 index eaddc8a..0000000 --- a/src/noosfero-spb/software_communities/lib/sisp_tab_data_block.rb +++ /dev/null @@ -1,23 +0,0 @@ -class SispTabDataBlock < SoftwareTabDataBlock - def self.description - _('Sisp Tab Data') - end - - def help - _('This block is used to display SISP Data') - end - - def content(args={}) - block = self - - lambda do |object| - render( - :file => 'blocks/sisp_tab_data', - :locals => { - :block => block - } - ) - end - end - -end 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 3997d22..82c37ad 100644 --- a/src/noosfero-spb/software_communities/lib/software_communities_plugin.rb +++ b/src/noosfero-spb/software_communities/lib/software_communities_plugin.rb @@ -63,10 +63,10 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin SoftwareCommunitiesPlugin::SearchCatalogBlock => { :type => [Environment] }, SoftwareCommunitiesPlugin::SoftwareHighlightsBlock => { :type => [Environment] }, SoftwareCommunitiesPlugin::SoftwareTabDataBlock => {:type => [Community], :position => 1}, - SispTabDataBlock => {:type => [Community], :position => 1}, + SoftwareCommunitiesPlugin::SispTabDataBlock => {:type => [Community], :position => 1}, SoftwareCommunitiesPlugin::WikiBlock => {:type => [Community]}, - SoftwareCommunitiesPlugin::StatisticBlock => { :type => [Community] } - SoftwareEventsBlock => { :type => [Community] } + SoftwareCommunitiesPlugin::StatisticBlock => { :type => [Community] }, + SoftwareCommunitiesPlugin::SoftwareEventsBlock => { :type => [Community] } } end diff --git a/src/noosfero-spb/software_communities/lib/software_communities_plugin/sisp_tab_data_block.rb b/src/noosfero-spb/software_communities/lib/software_communities_plugin/sisp_tab_data_block.rb new file mode 100644 index 0000000..c4a07b5 --- /dev/null +++ b/src/noosfero-spb/software_communities/lib/software_communities_plugin/sisp_tab_data_block.rb @@ -0,0 +1,23 @@ +class SoftwareCommunitiesPlugin::SispTabDataBlock < SoftwareCommunitiesPlugin::SoftwareTabDataBlock + def self.description + _('Sisp Tab Data') + end + + def help + _('This block is used to display SISP Data') + end + + def content(args={}) + block = self + + lambda do |object| + render( + :file => 'blocks/sisp_tab_data', + :locals => { + :block => block + } + ) + end + end + +end diff --git a/src/noosfero-spb/software_communities/lib/software_communities_plugin/software_events_block.rb b/src/noosfero-spb/software_communities/lib/software_communities_plugin/software_events_block.rb new file mode 100644 index 0000000..0f07202 --- /dev/null +++ b/src/noosfero-spb/software_communities/lib/software_communities_plugin/software_events_block.rb @@ -0,0 +1,56 @@ +class SoftwareCommunitiesPlugin::SoftwareEventsBlock < Block + + settings_items :amount_of_events, :type => :integer, :default => 3 + attr_accessible :amount_of_events + + validates :amount_of_events, + :presence => true, :numericality => { + greater_than_or_equal_to: 1 + } + + def self.description + _('Software community events') + end + + def help + _('This block displays the software community events in a list.') + end + + def default_title + _('Other events') + end + + def content(args={}) + block = self + + lambda do |object| + render( + :file => 'blocks/software_events', + :locals => { :block => block } + ) + end + end + + def cacheable? + false + end + + def get_events + yesterday = DateTime.yesterday.end_of_day + self.owner.events.where("start_date > ?", yesterday).order(:start_date, :id).limit(self.amount_of_events) + end + + def get_events_except event_slug="" + event_slug = "" if event_slug.nil? + + get_events.where("slug NOT IN (?)", event_slug) + end + + def has_events_to_display? current_event_slug="" + not get_events_except(current_event_slug).empty? + end + + def should_display_title? + self.box.position != 1 + end +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 deleted file mode 100644 index 05ea247..0000000 --- a/src/noosfero-spb/software_communities/lib/software_events_block.rb +++ /dev/null @@ -1,56 +0,0 @@ -class SoftwareEventsBlock < Block - - settings_items :amount_of_events, :type => :integer, :default => 3 - attr_accessible :amount_of_events - - validates :amount_of_events, - :presence => true, :numericality => { - greater_than_or_equal_to: 1 - } - - def self.description - _('Software community events') - end - - def help - _('This block displays the software community events in a list.') - end - - def default_title - _('Other events') - end - - def content(args={}) - block = self - - lambda do |object| - render( - :file => 'blocks/software_events', - :locals => { :block => block } - ) - end - end - - def cacheable? - false - end - - def get_events - yesterday = DateTime.yesterday.end_of_day - self.owner.events.where("start_date > ?", yesterday).order(:start_date, :id).limit(self.amount_of_events) - end - - def get_events_except event_slug="" - event_slug = "" if event_slug.nil? - - get_events.where("slug NOT IN (?)", event_slug) - end - - def has_events_to_display? current_event_slug="" - not get_events_except(current_event_slug).empty? - end - - def should_display_title? - self.box.position != 1 - end -end diff --git a/src/noosfero-spb/software_communities/lib/tasks/create_sample_softwares.rake b/src/noosfero-spb/software_communities/lib/tasks/create_sample_softwares.rake index b4d04c3..d52f7dc 100644 --- a/src/noosfero-spb/software_communities/lib/tasks/create_sample_softwares.rake +++ b/src/noosfero-spb/software_communities/lib/tasks/create_sample_softwares.rake @@ -9,12 +9,12 @@ end def create_software_info(name, acronym = "", finality = "default") community = create_community(name) - software_info = SoftwareInfo.new + software_info = SoftwareCommunitiesPlugin::SoftwareInfo.new software_info.community = community software_info.public_software = true software_info.acronym = acronym software_info.finality = finality - software_info.license_info = LicenseInfo.first + software_info.license_info = SoftwareCommunitiesPlugin::LicenseInfo.first if software_info.community.valid? && software_info.valid? print "." @@ -25,6 +25,7 @@ def create_software_info(name, acronym = "", finality = "default") nil end end + namespace :software do desc "Create sample softwares" task :create_sample_softwares => :environment do diff --git a/src/noosfero-spb/software_communities/test/unit/create_software_test.rb b/src/noosfero-spb/software_communities/test/unit/create_software_test.rb index 460018b..0e59244 100644 --- a/src/noosfero-spb/software_communities/test/unit/create_software_test.rb +++ b/src/noosfero-spb/software_communities/test/unit/create_software_test.rb @@ -4,6 +4,7 @@ class CreateSoftwareTest < ActiveSupport::TestCase def setup @requestor = create_user('testuser').person + @license_info = SoftwareCommunitiesPlugin::LicenseInfo.create(:version => 'New License', :link => '#') end should 'be a task' do @@ -11,7 +12,7 @@ class CreateSoftwareTest < ActiveSupport::TestCase end should 'require a requestor' do - task = SoftwareCommunitiesPlugin::CreateSoftware.new(:name => 'Software Test', :target => Environment.default) + task = SoftwareCommunitiesPlugin::CreateSoftware.new(:name => 'Software Test', :target => Environment.default, :license_info => @license_info) task.valid? assert task.errors[:requestor_id.to_s].present? @@ -24,7 +25,7 @@ class CreateSoftwareTest < ActiveSupport::TestCase end should 'actually create new software community when confirmed' do - task = SoftwareCommunitiesPlugin::CreateSoftware.create!(:name => 'Software Test', :target => Environment.default, :requestor => @requestor, :finality => "Any") + task = SoftwareCommunitiesPlugin::CreateSoftware.create!(:name => 'Software Test', :target => Environment.default, :requestor => @requestor, :finality => "Any", :license_info => @license_info) assert_difference 'SoftwareCommunitiesPlugin::SoftwareInfo.count' do assert_difference 'Community.count' do @@ -36,7 +37,7 @@ class CreateSoftwareTest < ActiveSupport::TestCase end should 'create new software community with all informed data when confirmed' do - task = SoftwareCommunitiesPlugin::CreateSoftware.create!(:name => 'Software Test', :target => Environment.default, :requestor => @requestor, :finality => "Any", :repository_link => "#", ) + task = SoftwareCommunitiesPlugin::CreateSoftware.create!(:name => 'Software Test', :target => Environment.default, :requestor => @requestor, :finality => "Any", :repository_link => "#", :license_info => @license_info) task.finish software = Community["software-test"].software_info @@ -47,7 +48,7 @@ class CreateSoftwareTest < ActiveSupport::TestCase end should 'override message methods from Task' do - task = SoftwareCommunitiesPlugin::CreateSoftware.create!(:name => 'Software Test', :target => Environment.default, :requestor => @requestor, :finality => "Any") + task = SoftwareCommunitiesPlugin::CreateSoftware.create!(:name => 'Software Test', :target => Environment.default, :requestor => @requestor, :finality => "Any", :license_info => @license_info) task.finish diff --git a/src/noosfero-spb/software_communities/test/unit/operating_system_helper_test.rb b/src/noosfero-spb/software_communities/test/unit/operating_system_helper_test.rb index 1c97b95..2b7ec8f 100644 --- a/src/noosfero-spb/software_communities/test/unit/operating_system_helper_test.rb +++ b/src/noosfero-spb/software_communities/test/unit/operating_system_helper_test.rb @@ -8,9 +8,9 @@ class OperatingSystemHelperTest < ActiveSupport::TestCase def setup @operating_system_objects = [ - {:operating_system_name_id => OperatingSystemName.find_by_name("Debina").id.to_s, :version => "2.0"}, - {:operating_system_name_id => OperatingSystemName.find_by_name("Fedora").id.to_s, "version" => "2.1"}, - {:operating_system_name_id => OperatingSystemName.find_by_name("CentOS").id.to_s, "version" => "2.2"} + {:operating_system_name_id => SoftwareCommunitiesPlugin::OperatingSystemName.find_by_name("Debina").id.to_s, :version => "2.0"}, + {:operating_system_name_id => SoftwareCommunitiesPlugin::OperatingSystemName.find_by_name("Fedora").id.to_s, "version" => "2.1"}, + {:operating_system_name_id => SoftwareCommunitiesPlugin::OperatingSystemName.find_by_name("CentOS").id.to_s, "version" => "2.2"} ] @operating_system_objects end diff --git a/src/noosfero-spb/software_communities/test/unit/software_events_block_test.rb b/src/noosfero-spb/software_communities/test/unit/software_events_block_test.rb index 1c34d79..26b0343 100644 --- a/src/noosfero-spb/software_communities/test/unit/software_events_block_test.rb +++ b/src/noosfero-spb/software_communities/test/unit/software_events_block_test.rb @@ -6,7 +6,7 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase def setup @community = create_community("A new community") - @software_events_block = SoftwareEventsBlock.new + @software_events_block = SoftwareCommunitiesPlugin::SoftwareEventsBlock.new box = Box.new box.position = 1 diff --git a/src/noosfero-spb/software_communities/test/unit/software_info_validation_test.rb b/src/noosfero-spb/software_communities/test/unit/software_info_validation_test.rb index eef9e17..2c0f922 100644 --- a/src/noosfero-spb/software_communities/test/unit/software_info_validation_test.rb +++ b/src/noosfero-spb/software_communities/test/unit/software_info_validation_test.rb @@ -31,7 +31,7 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase @operating_system.operating_system_name = @operating_system_name @operating_system.save - @license_info = LicenseInfo.create(:version => 'New License', :link => '#') + @license_info = SoftwareCommunitiesPlugin::LicenseInfo.create(:version => 'New License', :link => '#') @software_info = SoftwareCommunitiesPlugin::SoftwareInfo.new( :acronym => "SFTW", @@ -55,16 +55,6 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase @software_info.community = @community end - def teardown - SoftwareCommunitiesPlugin::ProgrammingLanguage.destroy_all - SoftwareCommunitiesPlugin::SoftwareLanguage.destroy_all - SoftwareCommunitiesPlugin::DatabaseDescription.destroy_all - SoftwareCommunitiesPlugin::SoftwareDatabase.destroy_all - SoftwareCommunitiesPlugin::OperatingSystem.destroy_all - SoftwareCommunitiesPlugin::OperatingSystemName.destroy_all - SoftwareCommunitiesPlugin::SoftwareInfo.destroy_all - end - should 'Save SoftwareInfo if all fields are filled' do assert_equal true, @software_info.save end diff --git a/src/noosfero-spb/software_communities/test/unit/software_registration_test.rb b/src/noosfero-spb/software_communities/test/unit/software_registration_test.rb index 4780265..d4e7e86 100644 --- a/src/noosfero-spb/software_communities/test/unit/software_registration_test.rb +++ b/src/noosfero-spb/software_communities/test/unit/software_registration_test.rb @@ -6,7 +6,8 @@ class SoftwareRegistrationTest < ActiveSupport::TestCase @environment = Environment.default @environment.enable_plugin(SoftwareCommunitiesPlugin) - @license_info = LicenseInfo.create(:version => "New License", :link => "#") + @license_info = SoftwareCommunitiesPlugin::LicenseInfo.create(:version => "New License", :link => "#") + end def teardown Community.destroy_all -- libgit2 0.21.2