Commit b6f01b8f71a9b54e1ec9da169bdcba7e668ad590

Authored by Luciano Prestes
Committed by Gabriela Navarro
1 parent 0687ee4f
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Add rake to create sample softwares

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
lib/software_info.rb
... ... @@ -49,7 +49,7 @@ class SoftwareInfo &lt; ActiveRecord::Base
49 49 has_many :programming_languages, :through => :software_languages
50 50 has_many :operating_system_names, :through => :operating_systems
51 51  
52   - belongs_to :community
  52 + belongs_to :community, :dependent => :destroy
53 53 belongs_to :license_info
54 54  
55 55 has_one :software_categories
... ...
lib/tasks/create_sample_softwares.rake 0 → 100644
... ... @@ -0,0 +1,71 @@
  1 +NUMBER_OF_SOFTWARES = 10
  2 +
  3 +namespace :software do
  4 + desc "Create sample softwares"
  5 + task :create_sample_softwares => :environment do
  6 + Environment.all.each do |env|
  7 + if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("MpogSoftwarePlugin")
  8 +
  9 + print "Creating softwares: "
  10 +
  11 + NUMBER_OF_SOFTWARES.times do |i|
  12 + number = i < 10 ? "0#{i}" : "#{i}"
  13 + software_name = "Software #{number}"
  14 + create_software_info(software_name)
  15 + end
  16 +
  17 + create_software_info("Ubuntu")
  18 + create_software_info("Debian")
  19 + create_software_info("Windows XP")
  20 + create_software_info("Windows Vista")
  21 + create_software_info("Windows 7")
  22 + create_software_info("Windows 8")
  23 + create_software_info("Disk Operating System", "DOS")
  24 + create_software_info("Sublime")
  25 + create_software_info("Vi IMproved", "Vim")
  26 + create_software_info("Nano")
  27 + create_software_info("Gedit")
  28 + create_software_info("Firefox")
  29 + create_software_info("InkScape")
  30 + create_software_info("Eclipse")
  31 + create_software_info("LibreOffice")
  32 + create_software_info("Tetris")
  33 + create_software_info("Mario")
  34 + create_software_info("Pong")
  35 + create_software_info("Sonic")
  36 + create_software_info("Astah")
  37 + create_software_info("Pokemom Red")
  38 + create_software_info("Mass Effect")
  39 + create_software_info("Deus EX")
  40 + create_software_info("Dragon Age")
  41 +
  42 + puts ""
  43 + end
  44 + end
  45 + end
  46 +end
  47 +
  48 +def create_community(name)
  49 + community = Community.new
  50 + community.name = name
  51 + community.save
  52 + community
  53 +end
  54 +
  55 +def create_software_info(name, acronym = "")
  56 + community = create_community(name)
  57 + software_info = SoftwareInfo.new
  58 + software_info.community = community
  59 + software_info.public_software = true
  60 + software_info.acronym = acronym
  61 + software_info.license_info = LicenseInfo.first
  62 +
  63 + if software_info.community.valid? && software_info.valid?
  64 + print "."
  65 + software_info.save
  66 + software_info
  67 + else
  68 + print "F"
  69 + nil
  70 + end
  71 +end
0 72 \ No newline at end of file
... ...