Commit 7bfd56cae3b0d983bf49efb6de874096b04c48e6

Authored by Gabriela Navarro
Committed by Luciano Prestes
1 parent 8f20e5fa
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 Download block to software view and unit tests to it

Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Signed-off-by: Parley Martins <parley@outlook.com>
lib/download_block.rb 0 → 100644
... ... @@ -0,0 +1,33 @@
  1 +class DownloadBlock < Block
  2 +
  3 + attr_accessible :name, :link, :software_description,:show_name, :version_news
  4 +
  5 + settings_items :name, :type => :string, :default => ''
  6 + settings_items :link, :type => :string, :default => ''
  7 + settings_items :software_description, :type => :string, :default => ''
  8 + settings_items :show_name, :type => :boolean, :default => false
  9 + settings_items :version_news, :type => :string, :default => ''
  10 +
  11 + def self.description
  12 + _('Download Stable Version')
  13 + end
  14 +
  15 + def help
  16 + _('This block displays the stable version of a software.')
  17 + end
  18 +
  19 + def content(args={})
  20 + block = self
  21 + s = show_name
  22 + lambda do |object|
  23 + render(
  24 + :file => 'blocks/download',
  25 + :locals => { :block => block, :show_name => s }
  26 + )
  27 + end
  28 + end
  29 +
  30 + def cacheable?
  31 + false
  32 + end
  33 +end
... ...
lib/mpog_software_plugin.rb
... ... @@ -128,7 +128,8 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
128 128 {
129 129 SoftwaresBlock => {:type => [Environment, Person] },
130 130 SoftwareInformationBlock => {:type => [Community] },
131   - InstitutionsBlock => {:type => [Environment, Person]}
  131 + InstitutionsBlock => {:type => [Environment, Person]},
  132 + DownloadBlock => {:type => [Community]}
132 133 }
133 134 end
134 135  
... ...
test/unit/download_block_test.rb 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
  3 +
  4 +class DownloadBlockTest < ActiveSupport::TestCase
  5 + include PluginTestHelper
  6 + should 'inherit from Block' do
  7 + assert_kind_of Block, DownloadBlock.new
  8 + end
  9 +
  10 + should 'declare its default title' do
  11 + DownloadBlock.any_instance.stubs(:profile_count).returns(0)
  12 + assert_equal Block.new.default_title, DownloadBlock.new.default_title
  13 + end
  14 +
  15 + should 'describe itself' do
  16 + assert_not_equal Block.description, DownloadBlock.description
  17 + end
  18 +
  19 + should 'have software info to download it' do
  20 +
  21 + link = "gitlab.com/teste"
  22 + name = "Test Software"
  23 +
  24 + block = DownloadBlock.create(:name => name, :link => link)
  25 +
  26 + assert_equal block.link, link, "Link should not be empty"
  27 + assert_equal block.name, name, "Name should not be empty"
  28 + end
  29 +end
... ...
views/blocks/download.html.erb 0 → 100644
... ... @@ -0,0 +1,28 @@
  1 +<div id="download-block">
  2 + <div id="download_spb">
  3 + <h2> <%= _("Download") %> </h2>
  4 +
  5 + <span class="download-name">
  6 + <%= link_to block.name, "#" %>
  7 + </span>
  8 +
  9 + <span class="download-system">
  10 + <%= _(block.software_description) %>
  11 + </span>
  12 + </div>
  13 +
  14 + <p id="download_info">
  15 + <span class="req_spb">
  16 + <%= link_to _("Minimal Requirements") , block.owner.admin_url, :class => "anchor-link", :target => "_self" %>
  17 + </span>
  18 +
  19 + <span class="nov_spb">
  20 + <%= link_to(_("Version News"), block.version_news, :class => "anchor-link", :target => "_self") if !block.version_news.blank? %>
  21 + </span>
  22 +
  23 + <span class="licensed">
  24 + <%= _("Licensed by") %>
  25 + <%= link_to block.owner.software_info.license_info.version , block.owner.software_info.license_info.link, :target => "_blank" %>
  26 + </span>
  27 + </p>
  28 +</div>
... ...
views/box_organizer/_download_block.html.erb 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +<div id='edit-download-block'>
  2 + <%= labelled_form_field _('Name:'), text_field_tag('block[name]', @block.name) %>
  3 + <%= labelled_form_field _('Link:'), text_field_tag('block[link]', @block.link) %>
  4 + <%= labelled_form_field _('Software Description:'), text_field_tag('block[software_description]', @block.software_description) %>
  5 + <%= labelled_form_field _('Link to Version News:'), text_field_tag('block[version_news]', @block.version_news) %>
  6 +</div>
... ...