Commit 4e38f46bd9018d9c50869f21cb18b24220a17f11
1 parent
ae616f4d
Exists in
master
move to src/software_communities/
Showing
370 changed files
with
10978 additions
and
10978 deletions
Show diff stats
Too many changes.
To preserve performance only 100 of 370 files displayed.
.gitignore
README.md
| ... | ... | @@ -1,94 +0,0 @@ |
| 1 | -[](https://codeclimate.com/github/fabio1079/noosfero-plugin) | |
| 2 | - | |
| 3 | -README - MPOG Software Público Plugin | |
| 4 | -================================ | |
| 5 | - | |
| 6 | -MPOG Software Público Plugin is a plugin that includes features to Novo Portal do Software Público Brasileiro (SPB). | |
| 7 | - | |
| 8 | -More information about SPB: https://www.participa.br/softwarepublico | |
| 9 | - | |
| 10 | -INSTALL | |
| 11 | -======= | |
| 12 | - | |
| 13 | -Enable Plugin | |
| 14 | -------------- | |
| 15 | - | |
| 16 | -Also, you need to enable MPOG Software Plugin on your Noosfero: | |
| 17 | - | |
| 18 | -cd <your_noosfero_dir> | |
| 19 | -./script/noosfero-plugins enable software_communities | |
| 20 | - | |
| 21 | -Activate Plugin | |
| 22 | ---------------- | |
| 23 | - | |
| 24 | -As a Noosfero administrator user, go to administrator panel: | |
| 25 | - | |
| 26 | -- Execute the command to allow city and states to show up: | |
| 27 | - psql -U USERNAME -d NOOSFERO_DATABASE -a -f db/brazil_national_regions.sql | |
| 28 | -- Click on "Enable/disable plugins" option | |
| 29 | -- Click on "MPOG Software Plugin" check-box | |
| 30 | - | |
| 31 | -Schedule Institutions Update | |
| 32 | ----------------------------- | |
| 33 | - | |
| 34 | -./plugins/software_communities/script/schedule_institution_update.sh | |
| 35 | - | |
| 36 | - | |
| 37 | -Create Categories | |
| 38 | -------------------- | |
| 39 | - | |
| 40 | -To create the categories that a software can have run | |
| 41 | - | |
| 42 | -rake software:create_categories | |
| 43 | - | |
| 44 | -Create Licenses | |
| 45 | ------------------ | |
| 46 | - | |
| 47 | -This command populate the database with 71 licenses and it's links | |
| 48 | -rake software:create_licenses | |
| 49 | - | |
| 50 | -Translate Plugin | |
| 51 | ------------------- | |
| 52 | - | |
| 53 | -To translate the strings used in the plugin run | |
| 54 | - | |
| 55 | -ruby script/move-translations-to-plugins.rb | |
| 56 | -rake updatepo | |
| 57 | -rake noosfero:translations:compile | |
| 58 | - | |
| 59 | - | |
| 60 | -Running MPOG Software tests | |
| 61 | --------------------- | |
| 62 | -$ ruby plugins/software_communities/test/unit/name_of_file.rb | |
| 63 | -$ cucumber plugins/software_communities/features/ | |
| 64 | - | |
| 65 | -Get Involved | |
| 66 | -============ | |
| 67 | - | |
| 68 | -If you find any bug and/or want to collaborate, please send an e-mail to arthurmde@gmail.com | |
| 69 | - | |
| 70 | -LICENSE | |
| 71 | -======= | |
| 72 | - | |
| 73 | -Copyright (c) The Author developers. | |
| 74 | - | |
| 75 | -See Noosfero license. | |
| 76 | - | |
| 77 | - | |
| 78 | -AUTHORS | |
| 79 | -======= | |
| 80 | - | |
| 81 | -Alex Campelo (campelo.al1 at gmail.com) | |
| 82 | -Arthur de Moura Del Esposte (arthurmde at gmail.com) | |
| 83 | -Daniel Bucher (daniel.bucher88 at gmail.com) | |
| 84 | -David Carlos (ddavidcarlos1392 at gmail.com) | |
| 85 | -Fabio Teixeira (fabio1079 at gmail.com) | |
| 86 | -Gustavo Jaruga (darksshades at gmail.com) | |
| 87 | -Luciano Prestes (lucianopcbr at gmail.com) | |
| 88 | -Matheus Faria (matheus.sousa.faria at gmail.com) | |
| 89 | - | |
| 90 | - | |
| 91 | -ACKNOWLEDGMENTS | |
| 92 | -=============== | |
| 93 | - | |
| 94 | -The authors have been supported by MPOG and UnB |
Rakefile
controllers/software_communities_plugin_controller.rb
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | -# apenas software | |
| 2 | -require 'csv' | |
| 3 | -class SoftwareCommunitiesPluginController < ApplicationController | |
| 4 | - | |
| 5 | - def get_license_data | |
| 6 | - return render :json=>{} if !request.xhr? || params[:query].nil? | |
| 7 | - | |
| 8 | - data = if params[:query].empty? | |
| 9 | - LicenseInfo.all | |
| 10 | - else | |
| 11 | - LicenseInfo.where("version ILIKE ?", "%#{params[:query]}%").select("id, version") | |
| 12 | - end | |
| 13 | - render :json=> data.collect { |license| | |
| 14 | - {:id=>license.id, :label=>license.version} | |
| 15 | - } | |
| 16 | - | |
| 17 | - end | |
| 18 | - | |
| 19 | - def get_block_template | |
| 20 | - render 'box_organizer/_download_list_template', :layout => false | |
| 21 | - end | |
| 22 | - | |
| 23 | - def get_field_data | |
| 24 | - condition = !request.xhr? || params[:query].nil? || params[:field].nil? | |
| 25 | - return render :json=>{} if condition | |
| 26 | - | |
| 27 | - model = get_model_by_params_field | |
| 28 | - | |
| 29 | - data = model.where("name ILIKE ?", "%#{params[:query]}%").select("id, name") | |
| 30 | - .collect { |db| | |
| 31 | - {:id=>db.id, :label=>db.name} | |
| 32 | - } | |
| 33 | - | |
| 34 | - other = [model.select("id, name").last].collect { |db| | |
| 35 | - {:id=>db.id, :label=>db.name} | |
| 36 | - } | |
| 37 | - | |
| 38 | - # Always has other in the list | |
| 39 | - data |= other | |
| 40 | - | |
| 41 | - render :json=> data | |
| 42 | - end | |
| 43 | - | |
| 44 | - protected | |
| 45 | - | |
| 46 | - def get_model_by_params_field | |
| 47 | - case params[:field] | |
| 48 | - when "software_language" | |
| 49 | - return ProgrammingLanguage | |
| 50 | - else | |
| 51 | - return DatabaseDescription | |
| 52 | - end | |
| 53 | - end | |
| 54 | -end |
controllers/software_communities_plugin_myprofile_controller.rb
| ... | ... | @@ -1,194 +0,0 @@ |
| 1 | -class SoftwareCommunitiesPluginMyprofileController < MyProfileController | |
| 2 | - append_view_path File.join(File.dirname(__FILE__) + '/../views') | |
| 3 | - | |
| 4 | - def index | |
| 5 | - end | |
| 6 | - | |
| 7 | - def new_software | |
| 8 | - set_software_as_template | |
| 9 | - | |
| 10 | - @community = Community.new(params[:community]) | |
| 11 | - @community.environment = environment | |
| 12 | - @software_info = SoftwareInfo.new(params[:software_info]) | |
| 13 | - | |
| 14 | - @license_info = if params[:license].blank? or params[:license][:license_infos_id].blank? | |
| 15 | - LicenseInfo.new | |
| 16 | - else | |
| 17 | - LicenseInfo.find(params[:license][:license_infos_id]) | |
| 18 | - end | |
| 19 | - | |
| 20 | - control_software_creation | |
| 21 | - update_new_software_errors | |
| 22 | - end | |
| 23 | - | |
| 24 | - def edit_software | |
| 25 | - update_software_atributes | |
| 26 | - | |
| 27 | - return unless request.post? | |
| 28 | - | |
| 29 | - @software_info = constroy_software | |
| 30 | - software_info_insert_models.call(@list_libraries, 'libraries') | |
| 31 | - software_info_insert_models.call(@list_languages, 'software_languages') | |
| 32 | - software_info_insert_models.call(@list_databases, 'software_databases') | |
| 33 | - software_info_insert_models.call(@list_operating_systems, 'operating_systems') | |
| 34 | - | |
| 35 | - begin | |
| 36 | - @software_info.save! | |
| 37 | - | |
| 38 | - @community = @software_info.community | |
| 39 | - @community.update_attributes!(params[:community]) | |
| 40 | - | |
| 41 | - if params[:commit] == _('Save and Configure Community') | |
| 42 | - redirect_to :controller => 'profile_editor', :action => 'edit' | |
| 43 | - else | |
| 44 | - redirect_to :controller => 'profile_editor', :action => 'index' | |
| 45 | - session[:notice] = _('Software updated successfully') | |
| 46 | - end | |
| 47 | - rescue ActiveRecord::RecordInvalid => invalid | |
| 48 | - update_new_software_errors | |
| 49 | - session[:notice] = _('Could not update software') | |
| 50 | - end | |
| 51 | - end | |
| 52 | - | |
| 53 | - def disabled_public_software_field | |
| 54 | - !environment.admins.include?(current_user.person) | |
| 55 | - end | |
| 56 | - | |
| 57 | - private | |
| 58 | - | |
| 59 | - def add_software_erros | |
| 60 | - @errors = [] | |
| 61 | - @errors |= @community.errors.full_messages if @community | |
| 62 | - @errors |= @software_info.errors.full_messages if @software_info | |
| 63 | - @errors |= @license_info.errors.full_messages if @license_info | |
| 64 | - end | |
| 65 | - | |
| 66 | - def control_software_creation | |
| 67 | - valid_models = request.post? && (@community.valid? && @software_info.valid? && @license_info.valid?) | |
| 68 | - if valid_models | |
| 69 | - send_software_to_moderation | |
| 70 | - else | |
| 71 | - add_software_erros | |
| 72 | - end | |
| 73 | - end | |
| 74 | - | |
| 75 | - def software_info_insert_models | |
| 76 | - proc { |list,model_attr| | |
| 77 | - @software_info.send(model_attr).destroy_all | |
| 78 | - list.collect!{|m| @software_info.send(model_attr) << m } unless list.nil? | |
| 79 | - } | |
| 80 | - end | |
| 81 | - | |
| 82 | - def constroy_software | |
| 83 | - @software_info = @profile.software_info | |
| 84 | - params[:software][:public_software] ||= false unless @software_info.public_software? | |
| 85 | - @license = LicenseInfo.find(params[:license][:license_infos_id]) | |
| 86 | - @software_info.license_info = @license | |
| 87 | - @software_info.update_attributes(params[:software]) | |
| 88 | - | |
| 89 | - another_license_version = nil | |
| 90 | - another_license_link = nil | |
| 91 | - if params[:license] | |
| 92 | - another_license_version = params[:license][:version] | |
| 93 | - another_license_link = params[:license][:link] | |
| 94 | - end | |
| 95 | - | |
| 96 | - @software_info.verify_license_info(another_license_version, another_license_link) | |
| 97 | - | |
| 98 | - create_list_model_helpers | |
| 99 | - | |
| 100 | - @software_info | |
| 101 | - end | |
| 102 | - | |
| 103 | - def create_list_model_helpers | |
| 104 | - @list_libraries = LibraryHelper.list_library(params[:library]) | |
| 105 | - @list_languages = SoftwareLanguageHelper.list_language(params[:language]) | |
| 106 | - @list_databases = DatabaseHelper.list_database(params[:database]) | |
| 107 | - @list_operating_systems = OperatingSystemHelper.list_operating_system(params[:operating_system]) | |
| 108 | - end | |
| 109 | - | |
| 110 | - def send_software_to_moderation | |
| 111 | - another_license_version = "" | |
| 112 | - another_license_link = "" | |
| 113 | - if params[:license] | |
| 114 | - another_license_version = params[:license][:version] | |
| 115 | - another_license_link = params[:license][:link] | |
| 116 | - end | |
| 117 | - @software_info = SoftwareInfo.create_after_moderation(user, | |
| 118 | - params[:software_info].merge({ | |
| 119 | - :environment => environment, | |
| 120 | - :name => params[:community][:name], | |
| 121 | - :identifier => params[:community][:identifier], | |
| 122 | - :image_builder => params[:community][:image_builder], | |
| 123 | - :license_info => @license_info, | |
| 124 | - :another_license_version => another_license_version, | |
| 125 | - :another_license_link => another_license_link })) | |
| 126 | - | |
| 127 | - add_admin_to_community | |
| 128 | - | |
| 129 | - if !environment.admins.include?(current_user.person) | |
| 130 | - session[:notice] = _('Your new software request will be evaluated by an'\ | |
| 131 | - 'administrator. You will be notified.') | |
| 132 | - redirect_to user.admin_url | |
| 133 | - else | |
| 134 | - redirect_to :controller => 'profile_editor', | |
| 135 | - :action => 'edit', | |
| 136 | - :profile => @community.identifier | |
| 137 | - end | |
| 138 | - end | |
| 139 | - | |
| 140 | - def update_software_atributes | |
| 141 | - @software_info = @profile.software_info | |
| 142 | - @list_libraries = @software_info.libraries | |
| 143 | - @list_databases = @software_info.software_databases | |
| 144 | - @list_languages = @software_info.software_languages | |
| 145 | - @list_operating_systems = @software_info.operating_systems | |
| 146 | - @disabled_public_software_field = disabled_public_software_field | |
| 147 | - | |
| 148 | - @license_version = @software_info.license_info.version | |
| 149 | - @license_id = @software_info.license_info.id | |
| 150 | - @another_license_version = "" | |
| 151 | - @another_license_link = "" | |
| 152 | - | |
| 153 | - license_another = LicenseInfo.find_by_version("Another") | |
| 154 | - if license_another && @software_info.license_info_id == license_another.id | |
| 155 | - @license_version = "Another" | |
| 156 | - @another_license_version = @software_info.license_info.version | |
| 157 | - @another_license_link = @software_info.license_info.link | |
| 158 | - end | |
| 159 | - end | |
| 160 | - | |
| 161 | - def set_software_as_template | |
| 162 | - software_template = Community['software'] | |
| 163 | - software_valid = !software_template.blank? && software_template.is_template && !params['community'].blank? | |
| 164 | - if software_valid | |
| 165 | - params['community']['template_id'] = software_template.id if software_valid | |
| 166 | - end | |
| 167 | - end | |
| 168 | - | |
| 169 | - def add_admin_to_community | |
| 170 | - unless params[:q].nil? | |
| 171 | - admins = params[:q].split(/,/).map{ |n| environment.people.find n.to_i } | |
| 172 | - admins.each do |admin| | |
| 173 | - @community.add_member(admin) | |
| 174 | - @community.add_admin(admin) | |
| 175 | - end | |
| 176 | - end | |
| 177 | - end | |
| 178 | - | |
| 179 | - def update_new_software_errors | |
| 180 | - if request.post? | |
| 181 | - @community.valid? if @community | |
| 182 | - @software_info.valid? if @software_info | |
| 183 | - @license_info.valid? if @license_info | |
| 184 | - add_software_erros | |
| 185 | - end | |
| 186 | - | |
| 187 | - | |
| 188 | - @error_community_name = @community.errors.include?(:name) ? "highlight-error" : "" if @community | |
| 189 | - @error_software_acronym = @software_info.errors.include?(:acronym) ? "highlight-error" : "" if @software_info | |
| 190 | - @error_software_domain = @community.errors.include?(:identifier) ? "highlight-error" : "" if @community | |
| 191 | - @error_software_finality = @software_info.errors.include?(:finality) ? "highlight-error" : "" if @software_info | |
| 192 | - @error_software_license = @license_info.errors.include?(:version) ? "highlight-error" : "" if @license_info | |
| 193 | - end | |
| 194 | -end |
controllers/software_communities_plugin_profile_controller.rb
| ... | ... | @@ -1,49 +0,0 @@ |
| 1 | -class SoftwareCommunitiesPluginProfileController < ProfileController | |
| 2 | - append_view_path File.join(File.dirname(__FILE__) + '/../views') | |
| 3 | - | |
| 4 | - before_filter :validate_download_params, only: [:download_file] | |
| 5 | - | |
| 6 | - ERROR_MESSAGES = { | |
| 7 | - :not_found => _("Could not find the download file"), | |
| 8 | - :invalid_params => _("Invalid download params") | |
| 9 | - } | |
| 10 | - | |
| 11 | - def download_file | |
| 12 | - download_block = DownloadBlock.find_by_id params[:block] | |
| 13 | - index = params[:download_index].to_i | |
| 14 | - | |
| 15 | - if download_block and (index < download_block.downloads.size) | |
| 16 | - download = Download.new(download_block.downloads[index]) | |
| 17 | - | |
| 18 | - download.total_downloads += 1 | |
| 19 | - download_block.downloads[index] = download.to_hash | |
| 20 | - download_block.save | |
| 21 | - | |
| 22 | - redirect_to download.link | |
| 23 | - else | |
| 24 | - session[:notice] = ERROR_MESSAGES[:not_found] | |
| 25 | - render_not_found | |
| 26 | - end | |
| 27 | - end | |
| 28 | - | |
| 29 | - private | |
| 30 | - | |
| 31 | - def validate_download_params | |
| 32 | - valid_block = (!params[:block].nil?) and (params[:block].to_i > 0) | |
| 33 | - valid_index = params[:download_index].to_i >= 0 | |
| 34 | - | |
| 35 | - if !valid_block or !valid_index | |
| 36 | - session[:notice] = ERROR_MESSAGES[:invalid_params] | |
| 37 | - safe_redirect_back | |
| 38 | - end | |
| 39 | - end | |
| 40 | - | |
| 41 | - def safe_redirect_back | |
| 42 | - begin | |
| 43 | - redirect_to :back | |
| 44 | - rescue ActionController::RedirectBackError | |
| 45 | - # There is no :back if it is a copied url | |
| 46 | - render_not_found | |
| 47 | - end | |
| 48 | - end | |
| 49 | -end |
db/migrate/20140523132016_create_controlled_vocabulary_table.rb
| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | -class CreateControlledVocabularyTable < ActiveRecord::Migration | |
| 2 | - def up | |
| 3 | - create_table :controlled_vocabulary do |t| | |
| 4 | - t.references :software_info | |
| 5 | - t.boolean :administration | |
| 6 | - t.boolean :agriculture | |
| 7 | - t.boolean :business_and_services | |
| 8 | - t.boolean :communication | |
| 9 | - t.boolean :culture | |
| 10 | - t.boolean :national_defense | |
| 11 | - t.boolean :economy_and_finances | |
| 12 | - t.boolean :education | |
| 13 | - t.boolean :energy | |
| 14 | - t.boolean :sports | |
| 15 | - t.boolean :habitation | |
| 16 | - t.boolean :industry | |
| 17 | - t.boolean :environment | |
| 18 | - t.boolean :research_and_development | |
| 19 | - t.boolean :social_security | |
| 20 | - t.boolean :social_protection | |
| 21 | - t.boolean :international_relations | |
| 22 | - t.boolean :sanitation | |
| 23 | - t.boolean :health | |
| 24 | - t.boolean :security_public_order | |
| 25 | - t.boolean :work | |
| 26 | - t.boolean :transportation | |
| 27 | - t.boolean :urbanism | |
| 28 | - | |
| 29 | - end | |
| 30 | - end | |
| 31 | - | |
| 32 | - def down | |
| 33 | - drop_table :controlled_vocabulary | |
| 34 | - end | |
| 35 | -end |
db/migrate/20140528193902_create_license_infos_table.rb
| ... | ... | @@ -1,15 +0,0 @@ |
| 1 | -class CreateLicenseInfosTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :license_infos do |t| | |
| 4 | - t.string :version | |
| 5 | - t.string :link | |
| 6 | - end | |
| 7 | - | |
| 8 | - link = "http://creativecommons.org/licenses/GPL/2.0/legalcode.pt" | |
| 9 | - LicenseInfo.create(:version => "CC-GPL-V2", :link => link) | |
| 10 | - end | |
| 11 | - | |
| 12 | - def self.down | |
| 13 | - drop_table :license_infos | |
| 14 | - end | |
| 15 | -end |
db/migrate/20140528193905_create_software_infos_table.rb
| ... | ... | @@ -1,23 +0,0 @@ |
| 1 | -class CreateSoftwareInfosTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :software_infos do |t| | |
| 4 | - t.references :license_info | |
| 5 | - t.references :community | |
| 6 | - t.boolean :e_mag, :default => false | |
| 7 | - t.boolean :icp_brasil,:default => false | |
| 8 | - t.boolean :intern, :default => false | |
| 9 | - t.boolean :e_ping, :default => false | |
| 10 | - t.boolean :e_arq, :default => false | |
| 11 | - t.string :name, :default => ' ' | |
| 12 | - t.string :operating_platform | |
| 13 | - t.string :demonstration_url | |
| 14 | - t.string :acronym | |
| 15 | - t.text :objectives | |
| 16 | - t.text :features | |
| 17 | - end | |
| 18 | - end | |
| 19 | - | |
| 20 | - def self.down | |
| 21 | - drop_table :software_infos | |
| 22 | - end | |
| 23 | -end |
db/migrate/20140528193927_create_libraries_table.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class CreateLibrariesTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :libraries do |t| | |
| 4 | - t.string :name | |
| 5 | - t.string :version | |
| 6 | - t.string :license | |
| 7 | - t.references :software_info | |
| 8 | - end | |
| 9 | - end | |
| 10 | - | |
| 11 | - def self.down | |
| 12 | - drop_table :libraries | |
| 13 | - end | |
| 14 | -end |
db/migrate/20140528193956_create_programming_languages_table.rb
| ... | ... | @@ -1,13 +0,0 @@ |
| 1 | -class CreateProgrammingLanguagesTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :programming_languages do |t| | |
| 4 | - t.string :name | |
| 5 | - end | |
| 6 | - | |
| 7 | - SoftwareHelper.create_list_with_file("plugins/software_communities/public/static/languages.txt", ProgrammingLanguage) | |
| 8 | - end | |
| 9 | - | |
| 10 | - def self.down | |
| 11 | - drop_table :programming_languages | |
| 12 | - end | |
| 13 | -end |
db/migrate/20140528194044_create_database_descriptions_table.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class CreateDatabaseDescriptionsTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :database_descriptions do |t| | |
| 4 | - t.string :name | |
| 5 | - end | |
| 6 | - | |
| 7 | - path_to_file = "plugins/software_communities/public/static/databases.txt" | |
| 8 | - SoftwareHelper.create_list_with_file(path_to_file, DatabaseDescription) | |
| 9 | - end | |
| 10 | - | |
| 11 | - def self.down | |
| 12 | - drop_table :database_descriptions | |
| 13 | - end | |
| 14 | -end |
db/migrate/20140528194129_create_software_databases_table.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class CreateSoftwareDatabasesTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :software_databases do |t| | |
| 4 | - t.string :version | |
| 5 | - t.string :operating_system | |
| 6 | - t.references :database_description | |
| 7 | - t.references :software_info | |
| 8 | - end | |
| 9 | - end | |
| 10 | - | |
| 11 | - def self.down | |
| 12 | - drop_table :software_databases | |
| 13 | - end | |
| 14 | -end |
db/migrate/20140528211914_create_software_languages_table.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class CreateSoftwareLanguagesTable < ActiveRecord::Migration | |
| 2 | - def self.up | |
| 3 | - create_table :software_languages do |t| | |
| 4 | - t.references :software_info | |
| 5 | - t.references :programming_language | |
| 6 | - t.string :version | |
| 7 | - t.string :operating_system | |
| 8 | - end | |
| 9 | - end | |
| 10 | - | |
| 11 | - def self.down | |
| 12 | - drop_table :software_languages | |
| 13 | - end | |
| 14 | -end |
db/migrate/20140710185444_create_operating_system_table.rb
db/migrate/20140711144012_remove_name_from_software_info.rb
db/migrate/20140714133901_create_operating_name_table.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class CreateOperatingNameTable < ActiveRecord::Migration | |
| 2 | - def up | |
| 3 | - create_table :operating_system_names do |t| | |
| 4 | - t.string :name | |
| 5 | - end | |
| 6 | - | |
| 7 | - path_to_file = "plugins/software_communities/public/static/operating_systems.txt" | |
| 8 | - SoftwareHelper.create_list_with_file(path_to_file, OperatingSystemName) | |
| 9 | - end | |
| 10 | - | |
| 11 | - def down | |
| 12 | - drop_table :operating_system_names | |
| 13 | - end | |
| 14 | -end |
db/migrate/20140714135007_change_operating_systems_table.rb
| ... | ... | @@ -1,16 +0,0 @@ |
| 1 | -class ChangeOperatingSystemsTable < ActiveRecord::Migration | |
| 2 | - def up | |
| 3 | - change_table :operating_systems do |t| | |
| 4 | - t.remove :name | |
| 5 | - t.references :operating_system_name | |
| 6 | - end | |
| 7 | - | |
| 8 | - end | |
| 9 | - | |
| 10 | - def down | |
| 11 | - change_table :operating_systems do |t| | |
| 12 | - t.string :name | |
| 13 | - t.remove :operating_system_name_id | |
| 14 | - end | |
| 15 | - end | |
| 16 | -end |
db/migrate/20140909185547_rename_controlled_vocabulary_to_software_categories.rb
db/migrate/20141007140419_add_finality_field_to_software_table.rb
db/migrate/20141013193939_add_repository_link_to_software.rb
db/migrate/20141103180655_add_public_software_field_validation.rb
db/migrate/20141105173616_add_first_edit_to_software.rb
db/migrate/20141216183111_remove_operating_system_from_software_database.rb
db/migrate/20141216183459_remove_operating_system_from_software_language.rb
db/migrate/20150209170529_add_settings_field_to_software_info.rb
db/migrate/20150210182519_rename_cc_license.rb
| ... | ... | @@ -1,13 +0,0 @@ |
| 1 | -class RenameCcLicense < ActiveRecord::Migration | |
| 2 | - def up | |
| 3 | - license = LicenseInfo.find_by_version "CC-GPL-V2" | |
| 4 | - license.version = "Creative Commons GPL V2" | |
| 5 | - license.save! | |
| 6 | - end | |
| 7 | - | |
| 8 | - def down | |
| 9 | - license = LicenseInfo.find_by_version "Creative Commons GPL V2" | |
| 10 | - license.version = "CC-GPL-V2" | |
| 11 | - license.save! | |
| 12 | - end | |
| 13 | -end |
db/migrate/20150914185902_add_people_benefited_and_saved_value_to_organization_rating.rb
| ... | ... | @@ -1,11 +0,0 @@ |
| 1 | -class AddPeopleBenefitedAndSavedValueToOrganizationRating < ActiveRecord::Migration | |
| 2 | - def up | |
| 3 | - add_column :organization_ratings, :people_benefited, :integer | |
| 4 | - add_column :organization_ratings, :saved_value, :decimal | |
| 5 | - end | |
| 6 | - | |
| 7 | - def down | |
| 8 | - remove_column :organization_ratings, :people_benefited | |
| 9 | - remove_column :organization_ratings, :saved_value | |
| 10 | - end | |
| 11 | -end |
features/deactivate_user.feature
| ... | ... | @@ -1,45 +0,0 @@ |
| 1 | -Feature: deactivate user | |
| 2 | - As a environment admin | |
| 3 | - I want to be able deactivate my account | |
| 4 | - So that user data remains persisted and allows the reactivation of the account | |
| 5 | - | |
| 6 | - Background: | |
| 7 | - Given "SoftwareCommunitiesPlugin" plugin is enabled | |
| 8 | - And I am logged in as mpog_admin | |
| 9 | - And I go to /admin/plugins | |
| 10 | - And I check "SoftwareCommunitiesPlugin" | |
| 11 | - And I press "Save changes" | |
| 12 | - And I go to /account/logout | |
| 13 | - And the following users | |
| 14 | - | login | name | email | | |
| 15 | - | joaosilva | Joao Silva | joaosilva@example.com | | |
| 16 | - And I am logged in as "joaosilva" | |
| 17 | - | |
| 18 | - | |
| 19 | - @selenium-fixme | |
| 20 | - Scenario: successfull deactivation | |
| 21 | - Given I go to joaosilva's control panel | |
| 22 | - And I follow "Edit Profile" | |
| 23 | - And I follow "Delete profile" | |
| 24 | - And I follow "Yes, I am sure" | |
| 25 | - Then I am not logged in | |
| 26 | - When I go to /profile/joaosilva | |
| 27 | - Then I should see "This profile is inaccessible." | |
| 28 | - | |
| 29 | - @selenium-fixme | |
| 30 | - Scenario: successfull reactivation of account | |
| 31 | - Given I go to joaosilva's control panel | |
| 32 | - And I follow "Edit Profile" | |
| 33 | - And I follow "Delete profile" | |
| 34 | - And I follow "Yes, I am sure" | |
| 35 | - And I go to the homepage | |
| 36 | - When I follow "Login" | |
| 37 | - And I follow "New user" | |
| 38 | - And I fill in the following within ".no-boxes": | |
| 39 | - | e-Mail | joaosilva@example.com | | |
| 40 | - | Full name | 123 | | |
| 41 | - And I follow "Reactive account" | |
| 42 | - And I fill in the following within ".no-boxes": | |
| 43 | - | Username or Email | joaosilva@example.com | | |
| 44 | - And I press "Send instructions" | |
| 45 | - Then I should see "An e-mail was just sent to your e-mail address" |
features/public_software_validation.feature
| ... | ... | @@ -1,49 +0,0 @@ |
| 1 | -Feature: edit adherent fields | |
| 2 | - As a user | |
| 3 | - I want to edit adherent fields | |
| 4 | - to mantain my public software up to date. | |
| 5 | - | |
| 6 | - Background: | |
| 7 | - Given "SoftwareCommunitiesPlugin" plugin is enabled | |
| 8 | - And the following users | |
| 9 | - | login | name | email | | |
| 10 | - | joaosilva | Joao Silva | joaosilva@example.com | | |
| 11 | - | mariasilva | Maria Silva | mariasilva@example.com | | |
| 12 | - And the following softwares | |
| 13 | - | name | public_software | finality | | |
| 14 | - | basic software | true | basic software finality | | |
| 15 | - And SoftwareInfo has initial default values on database | |
| 16 | - And I am logged in as mpog_admin | |
| 17 | - And I go to /admin/plugins | |
| 18 | - And I check "SoftwareCommunitiesPlugin" | |
| 19 | - Then I press "Save changes" | |
| 20 | - | |
| 21 | - Scenario: Disable public software checkbox to non admin users | |
| 22 | - Given I am logged in as "joaosilva" | |
| 23 | - And I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 24 | - And I follow "Specifications" | |
| 25 | - Then I should see "Public software" within ".public_software_disabled" | |
| 26 | - | |
| 27 | - Scenario: Enable public software checkbox to admin users | |
| 28 | - Given I am logged in as mpog_admin | |
| 29 | - And I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 30 | - And I follow "Specifications" | |
| 31 | - Then I should see "Public software" within ".public_software_enabled" | |
| 32 | - | |
| 33 | - @selenium | |
| 34 | - Scenario: Show adherent fields when checkbox are checked | |
| 35 | - Given I am logged in as mpog_admin | |
| 36 | - And I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 37 | - And I follow "Specifications" | |
| 38 | - And I uncheck "software[public_software]" | |
| 39 | - And I check "software[public_software]" | |
| 40 | - Then I should see "Adherent to e-ping ?" | |
| 41 | - | |
| 42 | - @selenium | |
| 43 | - Scenario: Don't show adherent fields when checkbox are not checked | |
| 44 | - Given I am logged in as mpog_admin | |
| 45 | - And I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 46 | - And I follow "Specifications" | |
| 47 | - And I check "software[public_software]" | |
| 48 | - And I uncheck "software[public_software]" | |
| 49 | - Then I should not see "Adherent to e-ping ?" |
features/software_block.feature
| ... | ... | @@ -1,48 +0,0 @@ |
| 1 | -Feature: edit adherent fields | |
| 2 | - As a user | |
| 3 | - I want to edit adherent fields | |
| 4 | - to mantain my public software up to date. | |
| 5 | - | |
| 6 | - Background: | |
| 7 | - Given "SoftwareCommunitiesPlugin" plugin is enabled | |
| 8 | - And I am logged in as mpog_admin | |
| 9 | - And I go to /admin/plugins | |
| 10 | - And I check "SoftwareCommunitiesPlugin" | |
| 11 | - And I press "Save changes" | |
| 12 | - And the following softwares | |
| 13 | - | name | public_software | finality | | |
| 14 | - | Public Software | true | some finality | | |
| 15 | - | Generic Software | false | some finality | | |
| 16 | - | |
| 17 | - Scenario: Add software block | |
| 18 | - Given I am logged in as mpog_admin | |
| 19 | - And I follow "Control panel" | |
| 20 | - And I follow "Edit sideboxes" | |
| 21 | - When I follow "Add a block" | |
| 22 | - And I choose "Softwares" | |
| 23 | - And I press "Add" | |
| 24 | - Then I should see "softwares" | |
| 25 | - | |
| 26 | - Scenario: Change software block to generic software block | |
| 27 | - Given I am logged in as mpog_admin | |
| 28 | - And I follow "Control panel" | |
| 29 | - And I follow "Edit sideboxes" | |
| 30 | - When I follow "Add a block" | |
| 31 | - And I choose "Softwares" | |
| 32 | - And I press "Add" | |
| 33 | - And I follow "Edit" within ".softwares-block" | |
| 34 | - And I select "Generic" from "block_software_type" | |
| 35 | - And I press "Save" | |
| 36 | - Then I should see "generic software" | |
| 37 | - | |
| 38 | - Scenario: Change software block to generic software block | |
| 39 | - Given I am logged in as mpog_admin | |
| 40 | - And I follow "Control panel" | |
| 41 | - And I follow "Edit sideboxes" | |
| 42 | - When I follow "Add a block" | |
| 43 | - And I choose "Softwares" | |
| 44 | - And I press "Add" | |
| 45 | - And I follow "Edit" within ".softwares-block" | |
| 46 | - And I select "Public" from "block_software_type" | |
| 47 | - And I press "Save" | |
| 48 | - Then I should see "public software" | |
| 49 | 0 | \ No newline at end of file |
features/software_catalog.feature
| ... | ... | @@ -1,82 +0,0 @@ |
| 1 | -Feature: Search software | |
| 2 | - As a user | |
| 3 | - I want to be able to search catalogued software | |
| 4 | - So that I find a software that fit my needs | |
| 5 | - Background: | |
| 6 | - Given "SoftwareCommunitiesPlugin" plugin is enabled | |
| 7 | - And I am logged in as mpog_admin | |
| 8 | - And I go to /admin/plugins | |
| 9 | - And I check "SoftwareCommunitiesPlugin" | |
| 10 | - And I press "Save changes" | |
| 11 | - And I go to /account/logout | |
| 12 | - And the following categories | |
| 13 | - | name | display_in_menu | | |
| 14 | - | Software | true | | |
| 15 | - And the following categories | |
| 16 | - | parent | name | display_in_menu | | |
| 17 | - | Software | Health | true | | |
| 18 | - | Software | Education | true | | |
| 19 | - And the following softwares | |
| 20 | - | name | public_software | categories | finality | | |
| 21 | - | Software One | true | Health | some finality | | |
| 22 | - | Software Two | true | Health, Education | some finality | | |
| 23 | - | Software Three | false | Education | some finality | | |
| 24 | - | |
| 25 | - | |
| 26 | - Scenario: Show all "public_software" softwares when open search page | |
| 27 | - Given I go to /search/software_infos | |
| 28 | - Then I should see "Software One" | |
| 29 | - Then I should see "Software Two" | |
| 30 | - | |
| 31 | - Scenario: Show all "public_software" softwares when search software | |
| 32 | - Given I go to /search/software_infos | |
| 33 | - And I fill in "search-input" with "Software" | |
| 34 | - Then I should see "Software One" | |
| 35 | - Then I should see "Software Two" | |
| 36 | - | |
| 37 | - @selenium | |
| 38 | - Scenario: Show software "One" when searching for "Software One" | |
| 39 | - Given I go to /search/software_infos | |
| 40 | - And I fill in "search-input" with "One" | |
| 41 | - And I keyup on selector "#search-input" | |
| 42 | - Then I should see "Software One" | |
| 43 | - Then I should not see "Software Two" | |
| 44 | - | |
| 45 | - @selenium | |
| 46 | - Scenario: Show software ordered by name when "Name A-Z" is selected | |
| 47 | - Given I go to /search/software_infos | |
| 48 | - And I select "Name A-Z" from "sort" | |
| 49 | - And I press "Filter" | |
| 50 | - Then I should see "Software One" before "Software Two" | |
| 51 | - | |
| 52 | - @selenium | |
| 53 | - Scenario: Show software in reverse order by name when "Name Z-A" is selected | |
| 54 | - Given I go to /search/software_infos | |
| 55 | - And I select "Name Z-A" from "sort" | |
| 56 | - And I sleep for 3 seconds | |
| 57 | - Then I should see "Software Two" before "Software One" | |
| 58 | - | |
| 59 | - @selenium | |
| 60 | - Scenario: Show only "Software Two" when searching for "Education" category | |
| 61 | - Given I go to /search/software_infos | |
| 62 | - And I click on anything with selector "#filter-option-catalog-software" | |
| 63 | - And I check "Education" | |
| 64 | - Then I should see "Software Two" | |
| 65 | - And I should not see "Software One" | |
| 66 | - | |
| 67 | - @selenium | |
| 68 | - Scenario: Show both Software "One" and "Two" when searching for "Health" category | |
| 69 | - Given I go to /search/software_infos | |
| 70 | - And I click on anything with selector "#filter-option-catalog-software" | |
| 71 | - And I check "Health" | |
| 72 | - Then I should see "Software One" | |
| 73 | - And I should see "Software Two" | |
| 74 | - | |
| 75 | - @selenium | |
| 76 | - Scenario: Show not "public_software" when "Include in results" is checked | |
| 77 | - Given I go to /search/software_infos | |
| 78 | - And I click on anything with selector "#filter-option-catalog-software" | |
| 79 | - And I check "include_non_public" | |
| 80 | - Then I should see "Software One" | |
| 81 | - And I should see "Software Two" | |
| 82 | - And I should see "Software Three" |
features/software_registration.feature
| ... | ... | @@ -1,87 +0,0 @@ |
| 1 | -Feature: edit public software information | |
| 2 | - As a user | |
| 3 | - I want to add public software information to a software | |
| 4 | - So that I can have software communities on my network | |
| 5 | - | |
| 6 | - Background: | |
| 7 | - Given "SoftwareCommunitiesPlugin" plugin is enabled | |
| 8 | - And SoftwareInfo has initial default values on database | |
| 9 | - And I am logged in as mpog_admin | |
| 10 | - And I go to /admin/plugins | |
| 11 | - And I check "SoftwareCommunitiesPlugin" | |
| 12 | - And I press "Save changes" | |
| 13 | - And I go to /myprofile/mpog-admin | |
| 14 | - And the following softwares | |
| 15 | - | name | public_software | finality | | |
| 16 | - | basic software | true | basic software finality | | |
| 17 | - | |
| 18 | - @selenium | |
| 19 | - Scenario: Show SoftwareLangue fields when click in New Language | |
| 20 | - Given I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 21 | - When I follow "Specifications" | |
| 22 | - And I follow "New language" | |
| 23 | - And I should see "3" of this selector ".software-language-table" | |
| 24 | - And I follow "Delete" | |
| 25 | - Then I should see "2" of this selector ".software-language-table" | |
| 26 | - #3 because one is always hidden | |
| 27 | - | |
| 28 | - @selenium | |
| 29 | - Scenario: Show databasefields when click in New database | |
| 30 | - Given I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 31 | - When I follow "Specifications" | |
| 32 | - And I follow "New Database" | |
| 33 | - And I should see "3" of this selector ".database-table" | |
| 34 | - And I follow "Delete" | |
| 35 | - Then I should see "2" of this selector ".database-table" | |
| 36 | - #3 because one is always hidden | |
| 37 | - | |
| 38 | - @selenium | |
| 39 | - Scenario: Software database name should be an autocomplete | |
| 40 | - Given I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 41 | - When I follow "Specifications" | |
| 42 | - And I follow "New Database" | |
| 43 | - And I type in "my" in autocomplete list ".database_autocomplete" and I choose "MySQL" | |
| 44 | - Then selector ".database_autocomplete" should have any "MySQL" | |
| 45 | - | |
| 46 | - @selenium | |
| 47 | - Scenario: Software database name should be an autocomplete | |
| 48 | - Given I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 49 | - When I follow "Specifications" | |
| 50 | - And I follow "New language" | |
| 51 | - And I type in "py" in autocomplete list ".language_autocomplete" and I choose "Python" | |
| 52 | - Then selector ".database_autocomplete" should have any "Python" | |
| 53 | - | |
| 54 | - @selenium | |
| 55 | - Scenario: Create software with all dynamic table fields filled | |
| 56 | - Given I go to /myprofile/basic-software/plugin/software_communities/edit_software | |
| 57 | - When I follow "Specifications" | |
| 58 | - And I follow "New language" | |
| 59 | - And I type in "py" in autocomplete list ".language_autocomplete" and I choose "Python" | |
| 60 | - And I fill in "language__version" with "1.2.3" | |
| 61 | - And I follow "New Database" | |
| 62 | - And I type in "my" in autocomplete list ".database_autocomplete" and I choose "MySQL" | |
| 63 | - And I fill in "database__version" with "4.5.6" | |
| 64 | - Then I press "Save" | |
| 65 | - And I follow "Software Info" | |
| 66 | - And I follow "Specifications" | |
| 67 | - And selector ".language_autocomplete" should have any "Python" | |
| 68 | - And selector "#language__version" should have any "1.2.3" | |
| 69 | - And selector ".database_autocomplete" should have any "MySQL" | |
| 70 | - And selector "#database__version" should have any "4.5.6" | |
| 71 | - | |
| 72 | - @selenium | |
| 73 | - Scenario: Show license link when a license is selected | |
| 74 | - Given I am on mpog-admin's control panel | |
| 75 | - And I follow "Create a new software" | |
| 76 | - And I fill in "community_name_id" with "another software" | |
| 77 | - And I fill in "community-identifier" with "another-software" | |
| 78 | - And I fill in "software_info_finality" with "another software finality" | |
| 79 | - And I type in "gp" in autocomplete list "#license_info_version" and I choose "GPL-2" | |
| 80 | - And I should see "Read license" within "#version_link" | |
| 81 | - And I press "Create" | |
| 82 | - And I should see "Configure Software Community" | |
| 83 | - And I press "Save" | |
| 84 | - And I should see "Control Panel" | |
| 85 | - And I follow "Software Info" | |
| 86 | - And I type in "gp" in autocomplete list "#license_info_version" and I choose "GPL-3" | |
| 87 | - Then I should see "Read license" within "#version_link" |
features/step_definitions/software_communities_steps.rb
| ... | ... | @@ -1,202 +0,0 @@ |
| 1 | -Given /^SoftwareInfo has initial default values on database$/ do | |
| 2 | - LicenseInfo.create(:version=>"None", :link=>"") | |
| 3 | - LicenseInfo.create(:version=>"GPL-2", :link =>"www.gpl2.com") | |
| 4 | - LicenseInfo.create(:version=>"GPL-3", :link =>"www.gpl3.com") | |
| 5 | - | |
| 6 | - ProgrammingLanguage.create(:name=>"C") | |
| 7 | - ProgrammingLanguage.create(:name=>"C++") | |
| 8 | - ProgrammingLanguage.create(:name=>"Ruby") | |
| 9 | - ProgrammingLanguage.create(:name=>"Python") | |
| 10 | - | |
| 11 | - DatabaseDescription.create(:name => "Oracle") | |
| 12 | - DatabaseDescription.create(:name => "MySQL") | |
| 13 | - DatabaseDescription.create(:name => "Apache") | |
| 14 | - DatabaseDescription.create(:name => "PostgreSQL") | |
| 15 | - | |
| 16 | - OperatingSystemName.create(:name=>"Debian") | |
| 17 | - OperatingSystemName.create(:name=>"Fedora") | |
| 18 | - OperatingSystemName.create(:name=>"CentOS") | |
| 19 | -end | |
| 20 | - | |
| 21 | - | |
| 22 | -Given /^I type in "([^"]*)" in autocomplete list "([^"]*)" and I choose "([^"]*)"$/ do |typed, input_field_selector, should_select| | |
| 23 | - # Wait the page javascript load | |
| 24 | - sleep 1 | |
| 25 | - # Basicaly it, search for the input field, type something, wait for ajax end select an item | |
| 26 | - page.driver.browser.execute_script %Q{ | |
| 27 | - var search_query = "#{input_field_selector}.ui-autocomplete-input"; | |
| 28 | - var input = jQuery(search_query).first(); | |
| 29 | - | |
| 30 | - input.trigger('click'); | |
| 31 | - input.val('#{typed}'); | |
| 32 | - input.trigger('keydown'); | |
| 33 | - | |
| 34 | - window.setTimeout(function(){ | |
| 35 | - search_query = ".ui-menu-item a:contains('#{should_select}')"; | |
| 36 | - var typed = jQuery(search_query).first(); | |
| 37 | - | |
| 38 | - typed.trigger('mouseenter').trigger('click'); | |
| 39 | - console.log(jQuery('#license_info_id')); | |
| 40 | - }, 1000); | |
| 41 | - } | |
| 42 | - sleep 1 | |
| 43 | -end | |
| 44 | - | |
| 45 | - | |
| 46 | -Given /^the following software language$/ do |table| | |
| 47 | - table.hashes.each do |item| | |
| 48 | - programming_language = ProgrammingLanguage.where(:name=>item[:programing_language]).first | |
| 49 | - software_language = SoftwareLanguage::new | |
| 50 | - | |
| 51 | - software_language.programming_language = programming_language | |
| 52 | - software_language.version = item[:version] | |
| 53 | - software_language.operating_system = item[:operating_system] | |
| 54 | - | |
| 55 | - software_language.save! | |
| 56 | - end | |
| 57 | -end | |
| 58 | - | |
| 59 | -Given /^the following software databases$/ do |table| | |
| 60 | - table.hashes.each do |item| | |
| 61 | - database_description = DatabaseDescription.where(:name=>item[:database_name]).first | |
| 62 | - software_database = SoftwareDatabase::new | |
| 63 | - | |
| 64 | - software_database.database_description = database_description | |
| 65 | - software_database.version = item[:version] | |
| 66 | - software_database.operating_system = item[:operating_system] | |
| 67 | - | |
| 68 | - software_database.save! | |
| 69 | - end | |
| 70 | -end | |
| 71 | - | |
| 72 | - | |
| 73 | -Given /^the following operating systems$/ do |table| | |
| 74 | - table.hashes.each do |item| | |
| 75 | - operating_system_name = OperatingSystemName.where(:name=>item[:operating_system_name]).first | |
| 76 | - operating_system = OperatingSystem::new | |
| 77 | - | |
| 78 | - operating_system.operating_system_name = operating_system_name | |
| 79 | - operating_system.version = item[:version] | |
| 80 | - | |
| 81 | - operating_system.save! | |
| 82 | - end | |
| 83 | -end | |
| 84 | - | |
| 85 | -Given /^the following softwares$/ do |table| | |
| 86 | - table.hashes.each do |item| | |
| 87 | - software_info = SoftwareInfo.new | |
| 88 | - software_info.community = Community.create(:name=>item[:name]) | |
| 89 | - | |
| 90 | - software_info.finality = item[:finality] if item[:finality] | |
| 91 | - software_info.acronym = item[:acronym] if item[:acronym] | |
| 92 | - software_info.finality = item[:finality] if item[:finality] | |
| 93 | - software_info.finality ||= "something" | |
| 94 | - software_info.operating_platform = item[:operating_platform] if item[:operating_platform] | |
| 95 | - software_info.objectives = item[:objectives] if item[:objectives] | |
| 96 | - software_info.features = item[:features] if item[:features] | |
| 97 | - software_info.public_software = item[:public_software] == "true" if item[:public_software] | |
| 98 | - software_info.license_info = LicenseInfo.create :version=>"GPL - 1.0" | |
| 99 | - | |
| 100 | - if item[:software_language] | |
| 101 | - programming_language = ProgrammingLanguage.where(:name=>item[:software_language]).first | |
| 102 | - software_language = SoftwareLanguage.where(:programming_language_id=>programming_language).first | |
| 103 | - software_info.software_languages << software_language | |
| 104 | - end | |
| 105 | - | |
| 106 | - if item[:software_database] | |
| 107 | - database_description = DatabaseDescription.where(:name=>item[:software_database]).first | |
| 108 | - software_database = SoftwareDatabase.where(:database_description_id=>database_description).first | |
| 109 | - software_info.software_databases << software_database | |
| 110 | - end | |
| 111 | - | |
| 112 | - if item[:operating_system] | |
| 113 | - operating_system_name = OperatingSystemName.where(:name => item[:operating_system]).first | |
| 114 | - operating_system = OperatingSystem.where(:operating_system_name_id => operating_system_name).first | |
| 115 | - software_info.operating_systems << operating_system | |
| 116 | - end | |
| 117 | - | |
| 118 | - if item[:categories] | |
| 119 | - categories = item[:categories].split(",") | |
| 120 | - categories.map! {|category| category.strip} | |
| 121 | - | |
| 122 | - categories.each do |category_name| | |
| 123 | - category = Category.find_by_name category_name | |
| 124 | - software_info.community.categories << category | |
| 125 | - end | |
| 126 | - end | |
| 127 | - | |
| 128 | - software_info.save! | |
| 129 | - end | |
| 130 | -end | |
| 131 | - | |
| 132 | -# Dynamic table steps | |
| 133 | -Given /^I fill in first "([^"]*)" class with "([^"]*)"$/ do |selector, value| | |
| 134 | - evaluate_script "jQuery('#{selector}').first().attr('value', '#{value}') && true" | |
| 135 | -end | |
| 136 | - | |
| 137 | -Given /^I fill in last "([^"]*)" class with "([^"]*)"$/ do |selector, value| | |
| 138 | - evaluate_script "jQuery('#{selector}').last().attr('value', '#{value}') && true" | |
| 139 | -end | |
| 140 | - | |
| 141 | -Given /^I click on the first button with class "([^"]*)"$/ do |selector| | |
| 142 | - evaluate_script "jQuery('#{selector}').first().trigger('click') && true" | |
| 143 | -end | |
| 144 | - | |
| 145 | -Given /^I click on the last button with class "([^"]*)"$/ do |selector| | |
| 146 | - evaluate_script "jQuery('#{selector}').last().trigger('click') && true" | |
| 147 | -end | |
| 148 | - | |
| 149 | -Given /^the user "([^"]*)" has "([^"]*)" as secondary e\-mail$/ do |login, email| | |
| 150 | - User[login].update_attributes(:secondary_email => email) | |
| 151 | -end | |
| 152 | - | |
| 153 | -Given /^I click on anything with selector "([^"]*)"$/ do |selector| | |
| 154 | - evaluate_script "jQuery('#{selector}').trigger('click') && true" | |
| 155 | -end | |
| 156 | - | |
| 157 | -Given /^I should see "([^"]*)" of this selector "([^"]*)"$/ do |quantity, selector| | |
| 158 | - evaluate_script "jQuery('#{selector}').length == '#{quantity}'" | |
| 159 | -end | |
| 160 | - | |
| 161 | -Given /^selector "([^"]*)" should have any "([^"]*)"$/ do |selector, text| | |
| 162 | - evaluate_script "jQuery('#{selector}').html().indexOf('#{text}') != -1" | |
| 163 | -end | |
| 164 | - | |
| 165 | -Given /^I click on table number "([^"]*)" selector "([^"]*)" and select the value "([^"]*)"$/ do |number, selector, value| | |
| 166 | - evaluate_script "jQuery('#{selector}:nth-child(#{number}) select option:contains(\"#{value}\")').selected() && true" | |
| 167 | -end | |
| 168 | - | |
| 169 | -Given /^I fill with "([^"]*)" in field with name "([^"]*)" of table number "([^"]*)" with class "([^"]*)"$/ do |value, name, number, selector| | |
| 170 | - evaluate_script "jQuery('#{selector}:nth-child(#{number}) input[name=\"#{name}\"]').val('#{value}') && true" | |
| 171 | -end | |
| 172 | - | |
| 173 | -Given /^I sleep for (\d+) seconds$/ do |time| | |
| 174 | - sleep time.to_i | |
| 175 | -end | |
| 176 | - | |
| 177 | -Given /^I am logged in as mpog_admin$/ do | |
| 178 | - visit('/account/logout') | |
| 179 | - | |
| 180 | - user = User.new(:login => 'admin_user', :password => '123456', :password_confirmation => '123456', :email => 'admin_user@example.com') | |
| 181 | - person = Person.new :name=>"Mpog Admin", :identifier=>"mpog-admin" | |
| 182 | - user.person = person | |
| 183 | - user.save! | |
| 184 | - | |
| 185 | - user.activate | |
| 186 | - e = Environment.default | |
| 187 | - e.add_admin(user.person) | |
| 188 | - | |
| 189 | - visit('/account/login') | |
| 190 | - fill_in("Username", :with => user.login) | |
| 191 | - fill_in("Password", :with => '123456') | |
| 192 | - click_button("Log in") | |
| 193 | -end | |
| 194 | - | |
| 195 | -Given /^I should see "([^"]*)" before "([^"]*)"$/ do |before, after| | |
| 196 | - assert page.body.index("#{before}") < page.body.index("#{after}") | |
| 197 | -end | |
| 198 | - | |
| 199 | -Given /^I keyup on selector "([^"]*)"$/ do |selector| | |
| 200 | - selector_founded = evaluate_script("jQuery('#{selector}').trigger('keyup').length != 0") | |
| 201 | - selector_founded.should be_true | |
| 202 | -end |
lib/categories_and_tags_block.rb
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | -class CategoriesAndTagsBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name | |
| 4 | - | |
| 5 | - settings_items :show_name, :type => :boolean, :default => false | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Categories and Tags') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def help | |
| 12 | - _('This block displays the categories and tags of a software.') | |
| 13 | - end | |
| 14 | - | |
| 15 | - def content(args={}) | |
| 16 | - block = self | |
| 17 | - s = show_name | |
| 18 | - lambda do |object| | |
| 19 | - render( | |
| 20 | - :file => 'blocks/categories_and_tags', | |
| 21 | - :locals => { :block => block, :show_name => s } | |
| 22 | - ) | |
| 23 | - end | |
| 24 | - end | |
| 25 | - | |
| 26 | - def cacheable? | |
| 27 | - false | |
| 28 | - end | |
| 29 | -end |
lib/categories_software_block.rb
| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | -class CategoriesSoftwareBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name | |
| 4 | - | |
| 5 | - settings_items :show_name, :type => :boolean, :default => false | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Categories Softwares') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def help | |
| 12 | - _('This block displays the categories and the amount of softwares for | |
| 13 | - each category.') | |
| 14 | - end | |
| 15 | - | |
| 16 | - def content(args={}) | |
| 17 | - block = self | |
| 18 | - s = show_name | |
| 19 | - | |
| 20 | - software_category = Category.find_by_name("Software") | |
| 21 | - categories = [] | |
| 22 | - categories = software_category.children.sort if software_category | |
| 23 | - | |
| 24 | - lambda do |object| | |
| 25 | - render( | |
| 26 | - :file => 'blocks/categories_software', | |
| 27 | - :locals => { :block => block, :show_name => s, :categories => categories } | |
| 28 | - ) | |
| 29 | - end | |
| 30 | - end | |
| 31 | - | |
| 32 | - def cacheable? | |
| 33 | - false | |
| 34 | - end | |
| 35 | -end |
lib/create_software.rb
| ... | ... | @@ -1,113 +0,0 @@ |
| 1 | -class CreateSoftware < Task | |
| 2 | - include Rails.application.routes.url_helpers | |
| 3 | - | |
| 4 | - validates_presence_of :requestor_id, :target_id | |
| 5 | - validates_presence_of :name | |
| 6 | - | |
| 7 | - attr_accessible :name, :finality, :repository_link, :requestor, :environment, | |
| 8 | - :reject_explanation, :license_info | |
| 9 | - | |
| 10 | - alias :environment :target | |
| 11 | - alias :environment= :target= | |
| 12 | - | |
| 13 | - DATA_FIELDS = ['name', 'finality', 'license_info', 'repository_link'] | |
| 14 | - DATA_FIELDS.each do |field| | |
| 15 | - settings_items field.to_sym | |
| 16 | - end | |
| 17 | - | |
| 18 | - def perform | |
| 19 | - software_template = Community["software"] | |
| 20 | - if (!software_template.blank? && software_template.is_template) | |
| 21 | - template_id = software_template.id | |
| 22 | - end | |
| 23 | - | |
| 24 | - community = Community.create!(:name => self.name, | |
| 25 | - :template_id => template_id) | |
| 26 | - | |
| 27 | - community.environment = self.environment | |
| 28 | - community.add_admin(self.requestor) | |
| 29 | - | |
| 30 | - software = SoftwareInfo.create!(:finality => self.finality, | |
| 31 | - :repository_link => self.repository_link, :community_id => community.id, | |
| 32 | - :license_info => self.license_info) | |
| 33 | - end | |
| 34 | - | |
| 35 | - def title | |
| 36 | - _("New software") | |
| 37 | - end | |
| 38 | - | |
| 39 | - def subject | |
| 40 | - name | |
| 41 | - end | |
| 42 | - | |
| 43 | - def information | |
| 44 | - message = _('%{requestor} wants to create software %{subject} with') | |
| 45 | - if finality.blank? | |
| 46 | - { :message => message + _(' no finality.') } | |
| 47 | - else | |
| 48 | - { :message => message + _(' this finality:<p><em>%{finality}</em></p>'), | |
| 49 | - :variables => {:finality => finality} } | |
| 50 | - end | |
| 51 | - end | |
| 52 | - | |
| 53 | - def reject_details | |
| 54 | - true | |
| 55 | - end | |
| 56 | - | |
| 57 | - # tells if this request was rejected | |
| 58 | - def rejected? | |
| 59 | - self.status == Task::Status::CANCELLED | |
| 60 | - end | |
| 61 | - | |
| 62 | - # tells if this request was appoved | |
| 63 | - def approved? | |
| 64 | - self.status == Task::Status::FINISHED | |
| 65 | - end | |
| 66 | - | |
| 67 | - def target_notification_description | |
| 68 | - _('%{requestor} wants to create software %{subject}') % | |
| 69 | - {:requestor => requestor.name, :subject => subject} | |
| 70 | - end | |
| 71 | - | |
| 72 | - def target_notification_message | |
| 73 | - _("User \"%{user}\" just requested to create software %{software}. | |
| 74 | - You have to approve or reject it through the \"Pending Validations\" | |
| 75 | - section in your control panel.\n") % | |
| 76 | - { :user => self.requestor.name, :software => self.name } | |
| 77 | - end | |
| 78 | - | |
| 79 | - def task_created_message | |
| 80 | - _("Your request for registering software %{software} at %{environment} was | |
| 81 | - just sent. Environment administrator will receive it and will approve or | |
| 82 | - reject your request according to his methods and criteria. | |
| 83 | - | |
| 84 | - You will be notified as soon as environment administrator has a position | |
| 85 | - about your request.") % | |
| 86 | - { :software => self.name, :environment => self.target } | |
| 87 | - end | |
| 88 | - | |
| 89 | - def task_cancelled_message | |
| 90 | - _("Your request for registering software %{software} at %{environment} was | |
| 91 | - not approved by the environment administrator. The following explanation | |
| 92 | - was given: \n\n%{explanation}") % | |
| 93 | - { :software => self.name, | |
| 94 | - :environment => self.environment, | |
| 95 | - :explanation => self.reject_explanation } | |
| 96 | - end | |
| 97 | - | |
| 98 | - def task_finished_message | |
| 99 | - _('Your request for registering the software "%{software}" was approved. | |
| 100 | - You can access %{url} and finish the registration of your software.') % | |
| 101 | - { :software => self.name, :url => mount_url } | |
| 102 | - end | |
| 103 | - | |
| 104 | - private | |
| 105 | - | |
| 106 | - def mount_url | |
| 107 | - identifier = Community.where(:name => self.name).first.identifier | |
| 108 | - # The use of url_for doesn't allow the /social within the Public Software | |
| 109 | - # portal. That's why the url is mounted so 'hard coded' | |
| 110 | - url = "#{environment.top_url}/myprofile/#{identifier}/profile_editor/edit_software_community" | |
| 111 | - end | |
| 112 | - | |
| 113 | -end |
lib/database_description.rb
| ... | ... | @@ -1,15 +0,0 @@ |
| 1 | -class DatabaseDescription < ActiveRecord::Base | |
| 2 | - | |
| 3 | - SEARCHABLE_SOFTWARE_FIELDS = { | |
| 4 | - :name => 1 | |
| 5 | - } | |
| 6 | - | |
| 7 | - attr_accessible :name | |
| 8 | - | |
| 9 | - has_many :software_databases | |
| 10 | - has_many :software_infos, :through => :software_databases | |
| 11 | - | |
| 12 | - validates_presence_of :name | |
| 13 | - validates_uniqueness_of :name | |
| 14 | - | |
| 15 | -end |
lib/database_helper.rb
| ... | ... | @@ -1,86 +0,0 @@ |
| 1 | -class DatabaseHelper < DynamicTableHelper | |
| 2 | - MODEL_NAME ="database" | |
| 3 | - FIELD_NAME = "database_description_id" | |
| 4 | - | |
| 5 | - def self.valid_database? database | |
| 6 | - return false if SoftwareHelper.all_table_is_empty?(database) | |
| 7 | - | |
| 8 | - database_description_id_list = DatabaseDescription.select(:id). | |
| 9 | - collect {|dd| dd.id} | |
| 10 | - | |
| 11 | - return database_description_id_list.include?( | |
| 12 | - database[:database_description_id].to_i | |
| 13 | - ) | |
| 14 | - end | |
| 15 | - | |
| 16 | - def self.list_database new_databases | |
| 17 | - return [] if new_databases.nil? or new_databases.length == 0 | |
| 18 | - list_databases = [] | |
| 19 | - | |
| 20 | - new_databases.each do |new_database| | |
| 21 | - if valid_database? new_database | |
| 22 | - database = SoftwareDatabase.new | |
| 23 | - | |
| 24 | - database.database_description_id = | |
| 25 | - new_database[:database_description_id] | |
| 26 | - | |
| 27 | - database.version = new_database[:version] | |
| 28 | - list_databases << database | |
| 29 | - end | |
| 30 | - end | |
| 31 | - | |
| 32 | - list_databases | |
| 33 | - end | |
| 34 | - | |
| 35 | - def self.valid_list_database? list_databases | |
| 36 | - return false if list_databases.nil? or list_databases.length == 0 | |
| 37 | - | |
| 38 | - list_databases.each do |database| | |
| 39 | - return false unless database.valid? | |
| 40 | - end | |
| 41 | - | |
| 42 | - true | |
| 43 | - end | |
| 44 | - | |
| 45 | - def self.database_as_tables(list_databases, disabled=false) | |
| 46 | - model_list = list_databases | |
| 47 | - model_list ||= [{:database_description_id => "", :version => ""}] | |
| 48 | - | |
| 49 | - models_as_tables model_list, "database_html_structure", disabled | |
| 50 | - end | |
| 51 | - | |
| 52 | - def self.database_html_structure(database_data, disabled) | |
| 53 | - database_id = database_data[:database_description_id] | |
| 54 | - database_name = if database_data[:database_description_id].blank? | |
| 55 | - "" | |
| 56 | - else | |
| 57 | - DatabaseDescription.find( | |
| 58 | - database_data[:database_description_id], | |
| 59 | - :select=>"name" | |
| 60 | - ).name | |
| 61 | - end | |
| 62 | - | |
| 63 | - data = { | |
| 64 | - model_name: MODEL_NAME, | |
| 65 | - field_name: FIELD_NAME, | |
| 66 | - name: { | |
| 67 | - value: database_name, | |
| 68 | - id: database_id, | |
| 69 | - hidden: true, | |
| 70 | - autocomplete: true, | |
| 71 | - select_field: false | |
| 72 | - }, | |
| 73 | - version: { | |
| 74 | - value: database_data[:version], | |
| 75 | - hidden: true, | |
| 76 | - delete: true | |
| 77 | - } | |
| 78 | - } | |
| 79 | - DATA[:license].delete(:value) | |
| 80 | - table_html_structure(data, disabled) | |
| 81 | - end | |
| 82 | - | |
| 83 | - def self.add_dynamic_table | |
| 84 | - database_as_tables(nil).first.call | |
| 85 | - end | |
| 86 | -end | |
| 87 | 0 | \ No newline at end of file |
lib/download.rb
| ... | ... | @@ -1,51 +0,0 @@ |
| 1 | -#FIX ME: Turn this into a proper model(next release) | |
| 2 | -class Download | |
| 3 | - def initialize data | |
| 4 | - @name = data[:name] | |
| 5 | - @link = data[:link] | |
| 6 | - @software_description = data[:software_description] | |
| 7 | - @minimum_requirements = data[:minimum_requirements] | |
| 8 | - @size = data[:size] | |
| 9 | - | |
| 10 | - @total_downloads = if data[:total_downloads] | |
| 11 | - data[:total_downloads] | |
| 12 | - else | |
| 13 | - 0 | |
| 14 | - end | |
| 15 | - end | |
| 16 | - | |
| 17 | - def self.validate_download_list download_list | |
| 18 | - download_list.select! do |download| | |
| 19 | - not download[:name].blank? | |
| 20 | - end | |
| 21 | - | |
| 22 | - download_list.map do |download| | |
| 23 | - Download.new(download).to_hash | |
| 24 | - end | |
| 25 | - end | |
| 26 | - | |
| 27 | - def to_hash | |
| 28 | - { | |
| 29 | - :name => @name, | |
| 30 | - :link => @link, | |
| 31 | - :software_description => @software_description, | |
| 32 | - :minimum_requirements => @minimum_requirements, | |
| 33 | - :size => @size, | |
| 34 | - :total_downloads => @total_downloads | |
| 35 | - } | |
| 36 | - end | |
| 37 | - | |
| 38 | - def total_downloads= value | |
| 39 | - if value.is_a? Integer | |
| 40 | - @total_downloads = value | |
| 41 | - end | |
| 42 | - end | |
| 43 | - | |
| 44 | - def total_downloads | |
| 45 | - @total_downloads | |
| 46 | - end | |
| 47 | - | |
| 48 | - def link | |
| 49 | - @link | |
| 50 | - end | |
| 51 | -end |
lib/download_block.rb
| ... | ... | @@ -1,36 +0,0 @@ |
| 1 | -class DownloadBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name, :downloads | |
| 4 | - | |
| 5 | - settings_items :show_name, :type => :boolean, :default => false | |
| 6 | - settings_items :downloads, :type => Array, :default => [] | |
| 7 | - | |
| 8 | - validate :download_values | |
| 9 | - | |
| 10 | - def download_values | |
| 11 | - self.downloads = Download.validate_download_list(self.downloads) | |
| 12 | - end | |
| 13 | - | |
| 14 | - def self.description | |
| 15 | - _('Download Stable Version') | |
| 16 | - end | |
| 17 | - | |
| 18 | - def help | |
| 19 | - _('This block displays the stable version of a software.') | |
| 20 | - end | |
| 21 | - | |
| 22 | - def content(args={}) | |
| 23 | - block = self | |
| 24 | - s = show_name | |
| 25 | - lambda do |object| | |
| 26 | - render( | |
| 27 | - :file => 'blocks/download', | |
| 28 | - :locals => { :block => block, :show_name => s } | |
| 29 | - ) | |
| 30 | - end | |
| 31 | - end | |
| 32 | - | |
| 33 | - def cacheable? | |
| 34 | - false | |
| 35 | - end | |
| 36 | -end |
lib/dynamic_table_helper.rb
| ... | ... | @@ -1,153 +0,0 @@ |
| 1 | -class DynamicTableHelper | |
| 2 | - extend( | |
| 3 | - ActionView::Helpers::TagHelper, | |
| 4 | - ActionView::Helpers::FormTagHelper, | |
| 5 | - ActionView::Helpers::FormOptionsHelper, | |
| 6 | - ActionView::Helpers::UrlHelper, | |
| 7 | - ApplicationHelper | |
| 8 | - ) | |
| 9 | - | |
| 10 | - COLLUMN_NAME = { | |
| 11 | - name: "name", | |
| 12 | - version: "version", | |
| 13 | - license: "license" | |
| 14 | - } | |
| 15 | - | |
| 16 | - LABEL_TEXT = { | |
| 17 | - :name => _("Name"), | |
| 18 | - :version => _("Version"), | |
| 19 | - :license => _("License") | |
| 20 | - } | |
| 21 | - | |
| 22 | - DATA = { | |
| 23 | - name: { | |
| 24 | - label: LABEL_TEXT[:name], | |
| 25 | - name: COLLUMN_NAME[:name] | |
| 26 | - }, | |
| 27 | - version: { | |
| 28 | - label: LABEL_TEXT[:version], | |
| 29 | - name: COLLUMN_NAME[:version] | |
| 30 | - } , | |
| 31 | - license: { | |
| 32 | - label: LABEL_TEXT[:license], | |
| 33 | - name: COLLUMN_NAME[:license], | |
| 34 | - delete: true | |
| 35 | - } | |
| 36 | - } | |
| 37 | - @@disabled = false | |
| 38 | - | |
| 39 | - def self.table_html_structure data={}, disabled=false | |
| 40 | - @@disabled = disabled | |
| 41 | - Proc::new do | |
| 42 | - content_tag :table , generate_table_lines(data), :class => "dynamic-table" | |
| 43 | - end | |
| 44 | - end | |
| 45 | - | |
| 46 | - def self.generate_table_lines data={} | |
| 47 | - @@model = data[:model_name] | |
| 48 | - @@field_name = data[:field_name] | |
| 49 | - @@hidden_label = data[:name][:value] | |
| 50 | - @@hidden_id = data[:name][:id] | |
| 51 | - | |
| 52 | - row_data = prepare_row_data data | |
| 53 | - | |
| 54 | - table_line_data = [ | |
| 55 | - self.table_line(row_data[:name]), | |
| 56 | - self.table_line(row_data[:version]) | |
| 57 | - ] | |
| 58 | - | |
| 59 | - if row_data[:license].has_key?(:value) | |
| 60 | - table_line_data << self.table_line(row_data[:license]) | |
| 61 | - end | |
| 62 | - | |
| 63 | - table_line_data.join() | |
| 64 | - end | |
| 65 | - | |
| 66 | - def self.table_line row_data={} | |
| 67 | - unless row_data.blank? | |
| 68 | - content_tag :tr, [ | |
| 69 | - self.label_collumn(row_data[:label]), | |
| 70 | - self.value_collumn( | |
| 71 | - row_data[:value], | |
| 72 | - row_data[:name], | |
| 73 | - row_data[:autocomplete], | |
| 74 | - row_data[:select_field], | |
| 75 | - row_data[:options] | |
| 76 | - ), | |
| 77 | - self.hidden_collumn(row_data[:delete], row_data[:hidden]) | |
| 78 | - ].join() | |
| 79 | - end | |
| 80 | - end | |
| 81 | - | |
| 82 | - def self.label_collumn label="" | |
| 83 | - content_tag :td, label_tag(label) | |
| 84 | - end | |
| 85 | - | |
| 86 | - def self.value_collumn value="", name="", autocomplete=false, select_field=false, options=[] | |
| 87 | - html_options = | |
| 88 | - if autocomplete | |
| 89 | - { | |
| 90 | - :class => "#{@@model}_autocomplete", | |
| 91 | - :placeholder => _("Autocomplete field, type something") | |
| 92 | - } | |
| 93 | - else | |
| 94 | - {} | |
| 95 | - end | |
| 96 | - | |
| 97 | - html_options[:disabled] = @@disabled | |
| 98 | - | |
| 99 | - content = if select_field | |
| 100 | - select_tag("#{@@model}[][#{@@field_name}]", options, html_options) | |
| 101 | - elsif autocomplete | |
| 102 | - text_field_tag("#{@@model}_autocomplete", value, html_options) | |
| 103 | - else | |
| 104 | - text_field_tag("#{@@model}[][#{name}]", value, html_options) | |
| 105 | - end | |
| 106 | - | |
| 107 | - content_tag :td, content | |
| 108 | - end | |
| 109 | - | |
| 110 | - def self.hidden_collumn delete=false, hidden_data=false | |
| 111 | - value = | |
| 112 | - if @@disabled | |
| 113 | - nil | |
| 114 | - elsif delete | |
| 115 | - button_without_text( | |
| 116 | - :delete, _('Delete'), "#" , :class=>"delete-dynamic-table" | |
| 117 | - ) | |
| 118 | - elsif hidden_data | |
| 119 | - hidden_field_tag( | |
| 120 | - "#{@@model}[][#{@@field_name}]", | |
| 121 | - @@hidden_id, | |
| 122 | - :class => "#{@@field_name}", | |
| 123 | - :data => {:label => @@hidden_label } #check how to get the name of an object of the current model | |
| 124 | - ) | |
| 125 | - else | |
| 126 | - nil | |
| 127 | - end | |
| 128 | - | |
| 129 | - content_tag(:td, value, :align => 'right') | |
| 130 | - end | |
| 131 | - | |
| 132 | - def self.prepare_row_data data | |
| 133 | - row_data = { | |
| 134 | - name: DATA[:name], | |
| 135 | - version: DATA[:version], | |
| 136 | - license: DATA[:license] | |
| 137 | - } | |
| 138 | - | |
| 139 | - row_data[:name].merge! data[:name] | |
| 140 | - row_data[:version].merge! data[:version] | |
| 141 | - row_data[:license].merge! data[:license] if data.has_key? :license | |
| 142 | - | |
| 143 | - row_data | |
| 144 | - end | |
| 145 | - | |
| 146 | - def self.models_as_tables models, callback, disabled=false | |
| 147 | - lambdas_list = [] | |
| 148 | - | |
| 149 | - models.map do |model| | |
| 150 | - send(callback, model, disabled) | |
| 151 | - end | |
| 152 | - end | |
| 153 | -end | |
| 154 | 0 | \ No newline at end of file |
lib/ext/category.rb
| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | -require_dependency 'category' | |
| 2 | - | |
| 3 | -class Category | |
| 4 | - SOFTWARE_CATEGORIES = [ | |
| 5 | - _('Agriculture, Fisheries and Extraction'), | |
| 6 | - _('Science, Information and Communication'), | |
| 7 | - _('Economy and Finances'), | |
| 8 | - _('Public Administration'), | |
| 9 | - _('Habitation, Sanitation and Urbanism'), | |
| 10 | - _('Individual, Family and Society'), | |
| 11 | - _('Health'), | |
| 12 | - _('Social Welfare and Development'), | |
| 13 | - _('Defense and Security'), | |
| 14 | - _('Education'), | |
| 15 | - _('Government and Politics'), | |
| 16 | - _('Justice and Legislation'), | |
| 17 | - _('International Relationships'), | |
| 18 | - _('Transportation and Transit') | |
| 19 | - ] | |
| 20 | - | |
| 21 | - scope :software_categories, lambda { | |
| 22 | - software_category = Category.find_by_name("Software") | |
| 23 | - if software_category.nil? | |
| 24 | - [] | |
| 25 | - else | |
| 26 | - software_category.children | |
| 27 | - end | |
| 28 | - } | |
| 29 | - | |
| 30 | - def software_infos | |
| 31 | - software_list = self.communities | |
| 32 | - software_list.collect { |x| software_list.delete(x) unless x.software? } | |
| 33 | - software_list | |
| 34 | - end | |
| 35 | -end |
lib/ext/communities_block.rb
| ... | ... | @@ -1,45 +0,0 @@ |
| 1 | -require_dependency 'communities_block' | |
| 2 | - | |
| 3 | -class CommunitiesBlock | |
| 4 | - | |
| 5 | - def profile_list | |
| 6 | - result = get_visible_profiles | |
| 7 | - result.slice(0..get_limit-1) | |
| 8 | - end | |
| 9 | - | |
| 10 | - def profile_count | |
| 11 | - profile_list.count | |
| 12 | - end | |
| 13 | - | |
| 14 | - private | |
| 15 | - | |
| 16 | - def get_visible_profiles | |
| 17 | - visible_profiles = profiles.visible.includes( | |
| 18 | - [:image,:domains,:preferred_domain,:environment] | |
| 19 | - ) | |
| 20 | - | |
| 21 | - delete_communities = [] | |
| 22 | - valid_communities_string = Community.get_valid_communities_string | |
| 23 | - Community.all.each{|community| delete_communities << community.id unless eval(valid_communities_string)} | |
| 24 | - | |
| 25 | - visible_profiles = visible_profiles.where(["profiles.id NOT IN (?)", delete_communities]) unless delete_communities.empty? | |
| 26 | - | |
| 27 | - if !prioritize_profiles_with_image | |
| 28 | - return visible_profiles.all( | |
| 29 | - :limit => get_limit, | |
| 30 | - :order => 'profiles.updated_at DESC' | |
| 31 | - ).sort_by {rand} | |
| 32 | - elsif profiles.visible.with_image.count >= get_limit | |
| 33 | - return visible_profiles.with_image.all( | |
| 34 | - :limit => get_limit * 5, | |
| 35 | - :order => 'profiles.updated_at DESC' | |
| 36 | - ).sort_by {rand} | |
| 37 | - else | |
| 38 | - visible_profiles = visible_profiles.with_image.sort_by {rand} + | |
| 39 | - visible_profiles.without_image.all( | |
| 40 | - :limit => get_limit * 5, :order => 'profiles.updated_at DESC' | |
| 41 | - ).sort_by {rand} | |
| 42 | - return visible_profiles | |
| 43 | - end | |
| 44 | - end | |
| 45 | -end |
lib/ext/community.rb
| ... | ... | @@ -1,66 +0,0 @@ |
| 1 | -require_dependency 'community' | |
| 2 | - | |
| 3 | -class Community | |
| 4 | - | |
| 5 | - SEARCHABLE_SOFTWARE_FIELDS = { | |
| 6 | - :name => 1, | |
| 7 | - :identifier => 2, | |
| 8 | - :nickname => 3 | |
| 9 | - } | |
| 10 | - | |
| 11 | - attr_accessible :visible | |
| 12 | - | |
| 13 | - has_one :software_info, :dependent=>:destroy | |
| 14 | - | |
| 15 | - settings_items :hits, :type => :integer, :default => 0 | |
| 16 | - | |
| 17 | - def self.create_after_moderation(requestor, attributes = {}) | |
| 18 | - community = Community.new(attributes) | |
| 19 | - | |
| 20 | - if community.environment.enabled?('admin_must_approve_new_communities') && | |
| 21 | - !community.environment.admins.include?(requestor) | |
| 22 | - | |
| 23 | - cc = CreateCommunity.create(attributes.merge(:requestor => requestor)) | |
| 24 | - else | |
| 25 | - community = Community.create(attributes) | |
| 26 | - community.add_admin(requestor) | |
| 27 | - end | |
| 28 | - community | |
| 29 | - end | |
| 30 | - | |
| 31 | - def self.get_valid_communities_string | |
| 32 | - remove_of_communities_methods = Community.instance_methods.select{|m| m =~ /remove_of_community_search/} | |
| 33 | - valid_communities_string = "!(" | |
| 34 | - remove_of_communities_methods.each do |method| | |
| 35 | - valid_communities_string += "community.send('#{method}') || " | |
| 36 | - end | |
| 37 | - valid_communities_string = valid_communities_string[0..-5] | |
| 38 | - valid_communities_string += ")" | |
| 39 | - | |
| 40 | - valid_communities_string | |
| 41 | - end | |
| 42 | - | |
| 43 | - def software? | |
| 44 | - return !software_info.nil? | |
| 45 | - end | |
| 46 | - | |
| 47 | - def deactivate | |
| 48 | - self.visible = false | |
| 49 | - self.save! | |
| 50 | - end | |
| 51 | - | |
| 52 | - def activate | |
| 53 | - self.visible = true | |
| 54 | - self.save! | |
| 55 | - end | |
| 56 | - | |
| 57 | - def remove_of_community_search_software? | |
| 58 | - return software? | |
| 59 | - end | |
| 60 | - | |
| 61 | - def hit | |
| 62 | - self.hits += 1 | |
| 63 | - self.save! | |
| 64 | - end | |
| 65 | - | |
| 66 | -end |
lib/ext/organization_rating.rb
lib/ext/person.rb
| ... | ... | @@ -1,24 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | - | |
| 3 | -require_dependency 'person' | |
| 4 | - | |
| 5 | -class Person | |
| 6 | - | |
| 7 | - delegate :login, :to => :user, :prefix => true | |
| 8 | - | |
| 9 | - def software? | |
| 10 | - false | |
| 11 | - end | |
| 12 | - | |
| 13 | - def softwares | |
| 14 | - softwares = [] | |
| 15 | - self.communities.each do |community| | |
| 16 | - if community.software? | |
| 17 | - softwares << community | |
| 18 | - end | |
| 19 | - end | |
| 20 | - | |
| 21 | - softwares | |
| 22 | - end | |
| 23 | - | |
| 24 | -end |
lib/ext/profile_controller.rb
| ... | ... | @@ -1,64 +0,0 @@ |
| 1 | -require_dependency 'profile_controller' | |
| 2 | - | |
| 3 | -class ProfileController | |
| 4 | - | |
| 5 | - before_filter :hit_view_page | |
| 6 | - | |
| 7 | - def communities | |
| 8 | - type = [] | |
| 9 | - params[:type].downcase! unless params[:type].nil? | |
| 10 | - | |
| 11 | - if params[:type] == "software" | |
| 12 | - type = profile.softwares | |
| 13 | - elsif params[:type] == "institution" | |
| 14 | - type = profile.institutions | |
| 15 | - else | |
| 16 | - profile.communities.select do |community| | |
| 17 | - type << community unless community.software? || community.institution? | |
| 18 | - end | |
| 19 | - end | |
| 20 | - | |
| 21 | - if is_cache_expired?(profile.communities_cache_key(params)) | |
| 22 | - @communities = type.paginate(:per_page => per_page, :page => params[:npage], :total_entries => type.count) | |
| 23 | - end | |
| 24 | - end | |
| 25 | - | |
| 26 | - def members | |
| 27 | - if is_cache_expired?(profile.members_cache_key(params)) | |
| 28 | - sort = (params[:sort] == 'desc') ? params[:sort] : 'asc' | |
| 29 | - @profile_admins = profile.admins.includes(relations_to_include).order("name #{sort}").paginate(:per_page => members_per_page, :page => params[:npage]) | |
| 30 | - @profile_members = profile.members.order("name #{sort}").paginate(:per_page => members_per_page, :page => params[:npage]) | |
| 31 | - @profile_members_url = url_for(:controller => 'profile', :action => 'members') | |
| 32 | - end | |
| 33 | - end | |
| 34 | - | |
| 35 | - def user_is_a_bot? | |
| 36 | - user_agent= request.env["HTTP_USER_AGENT"] | |
| 37 | - user_agent.blank? || | |
| 38 | - user_agent.match(/bot/) || | |
| 39 | - user_agent.match(/spider/) || | |
| 40 | - user_agent.match(/crawler/) || | |
| 41 | - user_agent.match(/\(.*https?:\/\/.*\)/) | |
| 42 | - end | |
| 43 | - | |
| 44 | - def already_visited?(element) | |
| 45 | - user_id = if user.nil? then -1 else current_user.id end | |
| 46 | - user_id = "#{user_id}_#{element.id}_#{element.class}" | |
| 47 | - | |
| 48 | - if cookies.signed[:visited] == user_id | |
| 49 | - return true | |
| 50 | - else | |
| 51 | - cookies.permanent.signed[:visited] = user_id | |
| 52 | - return false | |
| 53 | - end | |
| 54 | - end | |
| 55 | - | |
| 56 | - def hit_view_page | |
| 57 | - if profile | |
| 58 | - community = profile | |
| 59 | - community.hit unless user_is_a_bot? || | |
| 60 | - already_visited?(community) || | |
| 61 | - community.class != Community | |
| 62 | - end | |
| 63 | - end | |
| 64 | -end |
lib/ext/profile_editor_controller.rb
| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | -require_dependency 'profile_editor_controller' | |
| 2 | - | |
| 3 | -class ProfileEditorController | |
| 4 | - | |
| 5 | - before_filter :redirect_to_edit_software_community, :only => [:edit] | |
| 6 | - | |
| 7 | - def edit_software_community | |
| 8 | - @profile_data = profile | |
| 9 | - @possible_domains = profile.possible_domains | |
| 10 | - @first_edit = profile.software_info.first_edit? | |
| 11 | - | |
| 12 | - if @first_edit | |
| 13 | - profile.software_info.first_edit = false | |
| 14 | - profile.software_info.save! | |
| 15 | - end | |
| 16 | - | |
| 17 | - edit if request.post? | |
| 18 | - end | |
| 19 | - | |
| 20 | - protected | |
| 21 | - | |
| 22 | - def redirect_to_edit_software_community | |
| 23 | - if profile.class == Community && profile.software? | |
| 24 | - redirect_to :action => 'edit_software_community' | |
| 25 | - end | |
| 26 | - end | |
| 27 | - | |
| 28 | -end |
lib/ext/profile_helper.rb
| ... | ... | @@ -1,26 +0,0 @@ |
| 1 | -require_dependency 'profile_helper' | |
| 2 | - | |
| 3 | -module ProfileHelper | |
| 4 | - PERSON_CATEGORIES[:mpog_profile_information] = [:secondary_email, | |
| 5 | - :institutions] | |
| 6 | - | |
| 7 | - def display_mpog_field(title, profile, field, force = false) | |
| 8 | - unless force || profile.may_display_field_to?(field, user) | |
| 9 | - return '' | |
| 10 | - end | |
| 11 | - value = profile.send(field) | |
| 12 | - if !value.blank? | |
| 13 | - if block_given? | |
| 14 | - value = yield(value) | |
| 15 | - end | |
| 16 | - content_tag( | |
| 17 | - 'tr', | |
| 18 | - content_tag('td', title, :class => 'field-name') + | |
| 19 | - content_tag('td', value) | |
| 20 | - ) | |
| 21 | - else | |
| 22 | - '' | |
| 23 | - end | |
| 24 | - end | |
| 25 | - | |
| 26 | -end |
lib/ext/search_controller.rb
| ... | ... | @@ -1,169 +0,0 @@ |
| 1 | -require_dependency 'search_controller' | |
| 2 | - | |
| 3 | -class SearchController | |
| 4 | - | |
| 5 | - def communities | |
| 6 | - delete_communities = [] | |
| 7 | - valid_communities_string = Community.get_valid_communities_string | |
| 8 | - Community.all.each{|community| delete_communities << community.id unless eval(valid_communities_string)} | |
| 9 | - | |
| 10 | - @scope = visible_profiles(Community) | |
| 11 | - @scope = @scope.where(["id NOT IN (?)", delete_communities]) unless delete_communities.empty? | |
| 12 | - | |
| 13 | - full_text_search | |
| 14 | - end | |
| 15 | - | |
| 16 | - def software_infos | |
| 17 | - prepare_software_search_page | |
| 18 | - results = filter_software_infos_list | |
| 19 | - @software_count = results.count | |
| 20 | - results = results.paginate(:per_page => @per_page, :page => params[:page]) | |
| 21 | - @searches[@asset] = {:results => results} | |
| 22 | - @search = results | |
| 23 | - | |
| 24 | - render :layout=>false if request.xhr? | |
| 25 | - end | |
| 26 | - | |
| 27 | - protected | |
| 28 | - | |
| 29 | - def filter_communities_list | |
| 30 | - unfiltered_list = visible_profiles(Community) | |
| 31 | - | |
| 32 | - unless params[:query].nil? | |
| 33 | - unfiltered_list = unfiltered_list.select do |com| | |
| 34 | - com.name.downcase =~ /#{params[:query].downcase}/ | |
| 35 | - end | |
| 36 | - end | |
| 37 | - | |
| 38 | - communities_list = [] | |
| 39 | - unfiltered_list.each do |profile| | |
| 40 | - if profile.class == Community && !profile.is_template? && yield(profile) | |
| 41 | - communities_list << profile | |
| 42 | - end | |
| 43 | - end | |
| 44 | - | |
| 45 | - communities_list | |
| 46 | - end | |
| 47 | - | |
| 48 | - def filter_software_infos_list | |
| 49 | - filtered_software_list = get_filtered_software_list | |
| 50 | - filtered_community_list = get_communities_list(filtered_software_list) | |
| 51 | - sort_communities_list filtered_community_list | |
| 52 | - end | |
| 53 | - | |
| 54 | - def get_filter_category_ids | |
| 55 | - category_ids = [] | |
| 56 | - unless params[:selected_categories_id].blank? | |
| 57 | - category_ids = params[:selected_categories_id] | |
| 58 | - end | |
| 59 | - category_ids.map(&:to_i) | |
| 60 | - end | |
| 61 | - | |
| 62 | - def get_filtered_software_list | |
| 63 | - params[:query] ||= "" | |
| 64 | - visible_communities = visible_profiles(Community) | |
| 65 | - | |
| 66 | - filtered_software_list = SoftwareInfo.search_by_query(params[:query]) | |
| 67 | - | |
| 68 | - if params[:only_softwares] | |
| 69 | - params[:only_softwares].collect!{ |software_name| software_name.to_slug } | |
| 70 | - filtered_software_list = SoftwareInfo.all.select{ |s| params[:only_softwares].include?(s.identifier) } | |
| 71 | - @public_software_selected = false | |
| 72 | - end | |
| 73 | - | |
| 74 | - filtered_software_list.select!{ |software| visible_communities.include?(software.community) } | |
| 75 | - category_ids = get_filter_category_ids | |
| 76 | - | |
| 77 | - unless category_ids.empty? | |
| 78 | - filtered_software_list.select! do |software| | |
| 79 | - if software.nil? || software.community.nil? | |
| 80 | - false | |
| 81 | - else | |
| 82 | - result_ids = (software.community.category_ids & category_ids).sort | |
| 83 | - result_ids == category_ids.sort | |
| 84 | - end | |
| 85 | - end | |
| 86 | - end | |
| 87 | - | |
| 88 | - filtered_software_list | |
| 89 | - end | |
| 90 | - | |
| 91 | - def get_communities_list software_list | |
| 92 | - filtered_community_list = [] | |
| 93 | - software_list.each do |software| | |
| 94 | - if !@public_software_selected || software.public_software? | |
| 95 | - filtered_community_list << software.community unless software.community.nil? | |
| 96 | - end | |
| 97 | - end | |
| 98 | - filtered_community_list | |
| 99 | - end | |
| 100 | - | |
| 101 | - def sort_communities_list communities_list | |
| 102 | - communities_list.sort! {|a, b| a.name.downcase <=> b.name.downcase} | |
| 103 | - | |
| 104 | - if params[:sort] && params[:sort] == "desc" | |
| 105 | - communities_list.reverse! | |
| 106 | - elsif params[:sort] && params[:sort] == "relevance" | |
| 107 | - communities_list = sort_by_relevance(communities_list, params[:query]){ |community| [community.software_info.finality, community.name] } | |
| 108 | - end | |
| 109 | - communities_list | |
| 110 | - end | |
| 111 | - | |
| 112 | - def prepare_software_search_page | |
| 113 | - prepare_software_infos_params | |
| 114 | - prepare_software_infos_message | |
| 115 | - prepare_software_infos_category_groups | |
| 116 | - prepare_software_infos_category_enable | |
| 117 | - end | |
| 118 | - | |
| 119 | - def prepare_software_infos_params | |
| 120 | - @titles[:software_infos] = _("Result Search") | |
| 121 | - @selected_categories_id = params[:selected_categories_id] | |
| 122 | - @selected_categories_id ||= [] | |
| 123 | - @selected_categories_id = @selected_categories_id.map(&:to_i) | |
| 124 | - @all_selected = params[:software_type] == "all" | |
| 125 | - @public_software_selected = !@all_selected | |
| 126 | - @per_page = prepare_per_page | |
| 127 | - end | |
| 128 | - | |
| 129 | - def prepare_per_page | |
| 130 | - return 15 if params[:software_display].nil? | |
| 131 | - | |
| 132 | - if params[:software_display] == "all" | |
| 133 | - SoftwareInfo.count | |
| 134 | - else | |
| 135 | - params[:software_display].to_i | |
| 136 | - end | |
| 137 | - end | |
| 138 | - | |
| 139 | - def prepare_software_infos_message | |
| 140 | - @message_selected_options = "" | |
| 141 | - | |
| 142 | - @selected_categories = [] | |
| 143 | - unless @selected_categories_id.empty? | |
| 144 | - @message_selected_options = _("Selected options: ") | |
| 145 | - | |
| 146 | - @selected_categories = Category.find(@selected_categories_id) | |
| 147 | - @message_selected_options += @selected_categories.collect { |category| | |
| 148 | - "#{category.name}; " | |
| 149 | - }.join() | |
| 150 | - end | |
| 151 | - end | |
| 152 | - | |
| 153 | - def prepare_software_infos_category_groups | |
| 154 | - @categories = Category.software_categories.sort{|a, b| a.name <=> b.name} | |
| 155 | - end | |
| 156 | - | |
| 157 | - def prepare_software_infos_category_enable | |
| 158 | - @enabled_check_box = Hash.new | |
| 159 | - categories = Category.software_categories | |
| 160 | - | |
| 161 | - categories.each do |category| | |
| 162 | - if category.software_infos.count > 0 | |
| 163 | - @enabled_check_box[category] = :enabled | |
| 164 | - else | |
| 165 | - @enabled_check_box[category] = :disabled | |
| 166 | - end | |
| 167 | - end | |
| 168 | - end | |
| 169 | -end |
lib/ext/search_helper.rb
| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | -require_dependency 'search_helper' | |
| 2 | - | |
| 3 | -module SearchHelper | |
| 4 | - | |
| 5 | - COMMON_PROFILE_LIST_BLOCK ||= [] | |
| 6 | - COMMON_PROFILE_LIST_BLOCK << :software_infos | |
| 7 | - | |
| 8 | - def sort_by_relevance list, text | |
| 9 | - text_splited = text.split | |
| 10 | - | |
| 11 | - element_relevance = {} | |
| 12 | - | |
| 13 | - list.each do |element| | |
| 14 | - relevance = 1 | |
| 15 | - relevance_list = yield(element) | |
| 16 | - | |
| 17 | - text_splited.each do |t| | |
| 18 | - relevance_list.count.times do |i| | |
| 19 | - relevance = -1 * i if relevance_list[i].downcase.include?(t.downcase) | |
| 20 | - end | |
| 21 | - end | |
| 22 | - | |
| 23 | - element_relevance[element] = relevance | |
| 24 | - end | |
| 25 | - | |
| 26 | - list.sort! do |a, b| | |
| 27 | - element_relevance[a] <=> element_relevance[b] | |
| 28 | - end | |
| 29 | - | |
| 30 | - list | |
| 31 | - end | |
| 32 | - | |
| 33 | -end |
lib/library.rb
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | -class Library < ActiveRecord::Base | |
| 2 | - attr_accessible :name, :version, :license, :software_info_id | |
| 3 | - | |
| 4 | - validates :name, :version, :license, | |
| 5 | - presence: { message: _("can't be blank") }, | |
| 6 | - length: { | |
| 7 | - maximum: 20, | |
| 8 | - too_long: _("Too long (maximum is 20 characters)") | |
| 9 | - } | |
| 10 | -end |
lib/library_helper.rb
| ... | ... | @@ -1,62 +0,0 @@ |
| 1 | -class LibraryHelper < DynamicTableHelper | |
| 2 | - MODEL_NAME = "library" | |
| 3 | - | |
| 4 | - def self.list_library new_libraries | |
| 5 | - return [] if new_libraries.nil? or new_libraries.length == 0 | |
| 6 | - list_libraries = [] | |
| 7 | - | |
| 8 | - new_libraries.each do |new_library| | |
| 9 | - unless SoftwareHelper.all_table_is_empty? new_library | |
| 10 | - library = Library.new | |
| 11 | - library.name = new_library[:name] | |
| 12 | - library.version = new_library[:version] | |
| 13 | - library.license = new_library[:license] | |
| 14 | - list_libraries << library | |
| 15 | - end | |
| 16 | - end | |
| 17 | - | |
| 18 | - list_libraries | |
| 19 | - end | |
| 20 | - | |
| 21 | - def self.valid_list_library? list_libraries | |
| 22 | - return true if list_libraries.nil? or list_libraries.length == 0 | |
| 23 | - | |
| 24 | - list_libraries.each do |library| | |
| 25 | - return false unless library.valid? | |
| 26 | - end | |
| 27 | - | |
| 28 | - true | |
| 29 | - end | |
| 30 | - | |
| 31 | - def self.libraries_as_tables list_libraries, disabled=false | |
| 32 | - model_list = list_libraries | |
| 33 | - model_list ||= [{:name=>"", :version=>"", :license=>""}] | |
| 34 | - | |
| 35 | - models_as_tables model_list, "library_html_structure", disabled | |
| 36 | - end | |
| 37 | - | |
| 38 | - def self.library_html_structure library_data, disabled | |
| 39 | - data = { | |
| 40 | - model_name: MODEL_NAME, | |
| 41 | - name: { | |
| 42 | - value: library_data[:name], | |
| 43 | - hidden: false, | |
| 44 | - autocomplete: false, | |
| 45 | - select_field: false | |
| 46 | - }, | |
| 47 | - version: { | |
| 48 | - value: library_data[:version], | |
| 49 | - delete: false | |
| 50 | - }, | |
| 51 | - license: { | |
| 52 | - value: library_data[:license] | |
| 53 | - } | |
| 54 | - } | |
| 55 | - | |
| 56 | - table_html_structure(data, disabled) | |
| 57 | - end | |
| 58 | - | |
| 59 | - def self.add_dynamic_table | |
| 60 | - libraries_as_tables(nil).first.call | |
| 61 | - end | |
| 62 | -end | |
| 63 | 0 | \ No newline at end of file |
lib/license_helper.rb
lib/license_info.rb
lib/operating_system.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class OperatingSystem < ActiveRecord::Base | |
| 2 | - attr_accessible :version | |
| 3 | - | |
| 4 | - belongs_to :software_info | |
| 5 | - belongs_to :operating_system_name | |
| 6 | - | |
| 7 | - validates :operating_system_name, presence: true | |
| 8 | - validates :version, | |
| 9 | - presence: true, | |
| 10 | - length: { | |
| 11 | - maximum: 20, | |
| 12 | - too_long: _('too long (maximum is 20 characters)') | |
| 13 | - } | |
| 14 | -end |
lib/operating_system_helper.rb
| ... | ... | @@ -1,71 +0,0 @@ |
| 1 | -class OperatingSystemHelper < DynamicTableHelper | |
| 2 | - MODEL_NAME = "operating_system" | |
| 3 | - FIELD_NAME = "operating_system_name_id" | |
| 4 | - | |
| 5 | - def self.list_operating_system new_operating_systems | |
| 6 | - return [] if new_operating_systems.nil? or new_operating_systems.length == 0 | |
| 7 | - list_operating_system = [] | |
| 8 | - | |
| 9 | - new_operating_systems.each do |new_operating_system| | |
| 10 | - unless SoftwareHelper.all_table_is_empty?( | |
| 11 | - new_operating_system, | |
| 12 | - ["operating_system_name_id"] | |
| 13 | - ) | |
| 14 | - | |
| 15 | - operating_system = OperatingSystem.new | |
| 16 | - operating_system.operating_system_name = OperatingSystemName.find( | |
| 17 | - new_operating_system[:operating_system_name_id] | |
| 18 | - ) | |
| 19 | - | |
| 20 | - operating_system.version = new_operating_system[:version] | |
| 21 | - list_operating_system << operating_system | |
| 22 | - end | |
| 23 | - end | |
| 24 | - list_operating_system | |
| 25 | - end | |
| 26 | - | |
| 27 | - def self.valid_list_operating_system? list_operating_system | |
| 28 | - return !(list_operating_system.nil? || list_operating_system.length == 0) | |
| 29 | - | |
| 30 | - list_operating_system.each do |operating_system| | |
| 31 | - return false unless operating_system.valid? | |
| 32 | - end | |
| 33 | - true | |
| 34 | - end | |
| 35 | - | |
| 36 | - def self.operating_system_as_tables(list_operating_system, disabled=false) | |
| 37 | - model_list = list_operating_system | |
| 38 | - model_list ||= [{:operating_system_name_id => "", :version => ""}] | |
| 39 | - | |
| 40 | - models_as_tables model_list, "operating_system_html_structure", disabled | |
| 41 | - end | |
| 42 | - | |
| 43 | - def self.operating_system_html_structure (operating_system_data, disabled) | |
| 44 | - select_options = options_for_select( | |
| 45 | - OperatingSystemName.all.collect {|osn| [osn.name, osn.id]}, | |
| 46 | - operating_system_data[:operating_system_name_id] | |
| 47 | - ) | |
| 48 | - | |
| 49 | - data = { | |
| 50 | - model_name: MODEL_NAME, | |
| 51 | - field_name: FIELD_NAME, | |
| 52 | - name: { | |
| 53 | - hidden: false, | |
| 54 | - autocomplete: false, | |
| 55 | - select_field: true, | |
| 56 | - options: select_options | |
| 57 | - }, | |
| 58 | - version: { | |
| 59 | - value: operating_system_data[:version], | |
| 60 | - hidden: true, | |
| 61 | - delete: true | |
| 62 | - } | |
| 63 | - } | |
| 64 | - DATA[:license].delete(:value) | |
| 65 | - table_html_structure(data, disabled) | |
| 66 | - end | |
| 67 | - | |
| 68 | - def self.add_dynamic_table | |
| 69 | - operating_system_as_tables(nil).first.call | |
| 70 | - end | |
| 71 | -end |
lib/operating_system_name.rb
lib/programming_language.rb
| ... | ... | @@ -1,15 +0,0 @@ |
| 1 | -class ProgrammingLanguage < ActiveRecord::Base | |
| 2 | - | |
| 3 | - SEARCHABLE_SOFTWARE_FIELDS = { | |
| 4 | - :name => 1 | |
| 5 | - } | |
| 6 | - | |
| 7 | - attr_accessible :name | |
| 8 | - | |
| 9 | - validates_presence_of :name | |
| 10 | - validates_uniqueness_of :name | |
| 11 | - | |
| 12 | - has_many :software_languages | |
| 13 | - has_many :software_infos, :through => :software_languages | |
| 14 | - | |
| 15 | -end |
lib/repository_block.rb
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | -class RepositoryBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name | |
| 4 | - | |
| 5 | - settings_items :show_name, :type => :boolean, :default => false | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Repository Link') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def help | |
| 12 | - _('This block displays the repository link of a software.') | |
| 13 | - end | |
| 14 | - | |
| 15 | - def content(args={}) | |
| 16 | - block = self | |
| 17 | - s = show_name | |
| 18 | - lambda do |object| | |
| 19 | - render( | |
| 20 | - :file => 'blocks/repository', | |
| 21 | - :locals => { :block => block, :show_name => s } | |
| 22 | - ) | |
| 23 | - end | |
| 24 | - end | |
| 25 | - | |
| 26 | - def cacheable? | |
| 27 | - false | |
| 28 | - end | |
| 29 | -end |
lib/search_catalog_block.rb
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | -class SearchCatalogBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name | |
| 4 | - | |
| 5 | - settings_items :show_name, :type => :boolean, :default => false | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Search Softwares catalog') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def help | |
| 12 | - _('This block displays the search categories field ') | |
| 13 | - end | |
| 14 | - | |
| 15 | - def content(args={}) | |
| 16 | - block = self | |
| 17 | - s = show_name | |
| 18 | - lambda do |object| | |
| 19 | - render( | |
| 20 | - :file => 'blocks/search_catalog', | |
| 21 | - :locals => { :block => block, :show_name => s } | |
| 22 | - ) | |
| 23 | - end | |
| 24 | - end | |
| 25 | - | |
| 26 | - def cacheable? | |
| 27 | - false | |
| 28 | - end | |
| 29 | -end |
lib/software_communities_plugin.rb
| ... | ... | @@ -1,164 +0,0 @@ |
| 1 | -class SoftwareCommunitiesPlugin < Noosfero::Plugin | |
| 2 | - include ActionView::Helpers::TagHelper | |
| 3 | - include ActionView::Helpers::FormTagHelper | |
| 4 | - include ActionView::Helpers::FormOptionsHelper | |
| 5 | - include ActionView::Helpers::JavaScriptHelper | |
| 6 | - include ActionView::Helpers::AssetTagHelper | |
| 7 | - include FormsHelper | |
| 8 | - include ActionView::Helpers | |
| 9 | - include ActionDispatch::Routing | |
| 10 | - include Rails.application.routes.url_helpers | |
| 11 | - | |
| 12 | - def self.plugin_name | |
| 13 | - 'SoftwareCommunitiesPlugin' | |
| 14 | - end | |
| 15 | - | |
| 16 | - def self.plugin_description | |
| 17 | - _('Add Public Software and MPOG features.') | |
| 18 | - end | |
| 19 | - | |
| 20 | - def profile_tabs | |
| 21 | - if context.profile.community? | |
| 22 | - return profile_tabs_software if context.profile.software? | |
| 23 | - end | |
| 24 | - end | |
| 25 | - | |
| 26 | - def control_panel_buttons | |
| 27 | - if context.profile.software? | |
| 28 | - return software_info_button | |
| 29 | - elsif context.profile.person? | |
| 30 | - return create_new_software_button | |
| 31 | - end | |
| 32 | - end | |
| 33 | - | |
| 34 | - def self.extra_blocks | |
| 35 | - { | |
| 36 | - SoftwaresBlock => { :type => [Environment, Person] }, | |
| 37 | - SoftwareInformationBlock => { :type => [Community] }, | |
| 38 | - DownloadBlock => { :type => [Community] }, | |
| 39 | - RepositoryBlock => { :type => [Community] }, | |
| 40 | - CategoriesAndTagsBlock => { :type => [Community] }, | |
| 41 | - CategoriesSoftwareBlock => { :type => [Environment] }, | |
| 42 | - SearchCatalogBlock => { :type => [Environment] }, | |
| 43 | - SoftwareHighlightsBlock => { :type => [Environment] }, | |
| 44 | - SoftwareTabDataBlock => {:type => [Community], :position => 1}, | |
| 45 | - WikiBlock => {:type => [Community]}, | |
| 46 | - StatisticBlock => { :type => [Community] } | |
| 47 | - } | |
| 48 | - end | |
| 49 | - | |
| 50 | - def stylesheet? | |
| 51 | - true | |
| 52 | - end | |
| 53 | - | |
| 54 | - def js_files | |
| 55 | - %w( | |
| 56 | - vendor/jquery.maskedinput.min.js | |
| 57 | - vendor/modulejs-1.5.0.min.js | |
| 58 | - vendor/jquery.js | |
| 59 | - lib/noosfero-root.js | |
| 60 | - lib/select-element.js | |
| 61 | - lib/select-field-choices.js | |
| 62 | - lib/auto-complete.js | |
| 63 | - lib/software-catalog-component.js | |
| 64 | - views/control-panel.js | |
| 65 | - views/edit-software.js | |
| 66 | - views/new-software.js | |
| 67 | - views/search-software-catalog.js | |
| 68 | - views/profile-tabs-software.js | |
| 69 | - views/new-community.js | |
| 70 | - views/comments-software-extra-fields.js | |
| 71 | - blocks/software-download.js | |
| 72 | - initializer.js | |
| 73 | - app.js | |
| 74 | - ) | |
| 75 | - end | |
| 76 | - | |
| 77 | - module Hotspots | |
| 78 | - def display_organization_average_rating organization | |
| 79 | - nil | |
| 80 | - end | |
| 81 | - end | |
| 82 | - | |
| 83 | - def organization_ratings_plugin_comments_extra_fields | |
| 84 | - if context.profile.software? | |
| 85 | - Proc::new { render :file => 'comments_extra_fields' } | |
| 86 | - end | |
| 87 | - end | |
| 88 | - | |
| 89 | - def organization_ratings_plugin_star_message | |
| 90 | - Proc::new do _("Rate this software") end | |
| 91 | - end | |
| 92 | - | |
| 93 | - def organization_ratings_title | |
| 94 | - title = _('Use reports') | |
| 95 | - Proc::new do "<h1 class='title'>#{title}</h1>" end | |
| 96 | - end | |
| 97 | - | |
| 98 | - def organization_ratings_plugin_extra_fields_show_data user_rating | |
| 99 | - Proc::new { | |
| 100 | - if logged_in? | |
| 101 | - is_admin = environment.admins.include?(current_user.person) | |
| 102 | - is_admin ||= user_rating.organization.admins.include?(current_user.person) | |
| 103 | - | |
| 104 | - if is_admin and profile.software? | |
| 105 | - | |
| 106 | - render :file => 'organization_ratings_extra_fields_show_data', | |
| 107 | - :locals => {:user_rating => user_rating} | |
| 108 | - end | |
| 109 | - end | |
| 110 | - } | |
| 111 | - end | |
| 112 | - | |
| 113 | - # FIXME - if in error log apears has_permission?, try to use this method | |
| 114 | - def has_permission?(person, permission, target) | |
| 115 | - person.has_permission_without_plugins?(permission, target) | |
| 116 | - end | |
| 117 | - | |
| 118 | - protected | |
| 119 | - | |
| 120 | - def software_info_transaction | |
| 121 | - SoftwareInfo.transaction do | |
| 122 | - context.profile. | |
| 123 | - software_info. | |
| 124 | - update_attributes!(context.params[:software_info]) | |
| 125 | - end | |
| 126 | - end | |
| 127 | - | |
| 128 | - def license_transaction | |
| 129 | - license = LicenseInfo.find(context.params[:version]) | |
| 130 | - context.profile.software_info.license_info = license | |
| 131 | - context.profile.software_info.save! | |
| 132 | - end | |
| 133 | - | |
| 134 | - private | |
| 135 | - | |
| 136 | - def software_info_button | |
| 137 | - { | |
| 138 | - :title => _('Software Info'), | |
| 139 | - :icon => 'edit-profile-group control-panel-software-link', | |
| 140 | - :url => { | |
| 141 | - :controller => 'software_communities_plugin_myprofile', | |
| 142 | - :action => 'edit_software' | |
| 143 | - } | |
| 144 | - } | |
| 145 | - end | |
| 146 | - | |
| 147 | - def create_new_software_button | |
| 148 | - { | |
| 149 | - :title => _('Create a new software'), | |
| 150 | - :icon => 'design-editor', | |
| 151 | - :url => { | |
| 152 | - :controller => 'software_communities_plugin_myprofile', | |
| 153 | - :action => 'new_software' | |
| 154 | - } | |
| 155 | - } | |
| 156 | - end | |
| 157 | - | |
| 158 | - def profile_tabs_software | |
| 159 | - { :title => _('Software'), | |
| 160 | - :id => 'software-fields', | |
| 161 | - :content => Proc::new do render :partial => 'profile/software_tab' end, | |
| 162 | - :start => true } | |
| 163 | - end | |
| 164 | -end |
lib/software_database.rb
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | -class SoftwareDatabase < ActiveRecord::Base | |
| 2 | - attr_accessible :version | |
| 3 | - | |
| 4 | - belongs_to :software_info | |
| 5 | - belongs_to :database_description | |
| 6 | - | |
| 7 | - validates_presence_of :database_description_id, :version | |
| 8 | - | |
| 9 | - validates_length_of( | |
| 10 | - :version, | |
| 11 | - :maximum => 20, | |
| 12 | - :too_long => _("Software database is too long (maximum is 20 characters)") | |
| 13 | - ) | |
| 14 | - | |
| 15 | - validates( | |
| 16 | - :database_description_id, | |
| 17 | - :numericality => {:greater_than_or_equal_to => 1} | |
| 18 | - ) | |
| 19 | - | |
| 20 | -end |
lib/software_helper.rb
| ... | ... | @@ -1,44 +0,0 @@ |
| 1 | -module SoftwareHelper | |
| 2 | - def self.select_options programming_languages, selected = 0 | |
| 3 | - value = "" | |
| 4 | - | |
| 5 | - programming_languages.each do |language| | |
| 6 | - selected = selected == language.id ? 'selected' : '' | |
| 7 | - value += "<option value=#{language.id} #{selected}> | |
| 8 | - #{language.name} | |
| 9 | - </option>" | |
| 10 | - end | |
| 11 | - | |
| 12 | - value | |
| 13 | - end | |
| 14 | - | |
| 15 | - def self.create_list_with_file file_name, model | |
| 16 | - list_file = File.open file_name, "r" | |
| 17 | - | |
| 18 | - list_file.each_line do |line| | |
| 19 | - model.create(:name=>line.strip) | |
| 20 | - end | |
| 21 | - | |
| 22 | - list_file.close | |
| 23 | - end | |
| 24 | - | |
| 25 | - def self.all_table_is_empty? table, ignored_fields=[] | |
| 26 | - filled_fields = [] | |
| 27 | - | |
| 28 | - table.each do |key, value| | |
| 29 | - unless ignored_fields.include? key | |
| 30 | - filled_fields << if value.empty? | |
| 31 | - false | |
| 32 | - else | |
| 33 | - true | |
| 34 | - end | |
| 35 | - end | |
| 36 | - end | |
| 37 | - | |
| 38 | - if filled_fields.include? true | |
| 39 | - false | |
| 40 | - else | |
| 41 | - true | |
| 42 | - end | |
| 43 | - end | |
| 44 | -end |
lib/software_highlights_block.rb
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | -class SoftwareHighlightsBlock < HighlightsBlock | |
| 2 | - | |
| 3 | - def self.description | |
| 4 | - _('Software Highlights Block') | |
| 5 | - end | |
| 6 | - | |
| 7 | - def help | |
| 8 | - _('This block displays the softwares icon into a highlight') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def content(args={}) | |
| 12 | - softwares = self.settings[:images].collect {|h| h[:address].split('/').last} | |
| 13 | - block = self | |
| 14 | - proc do | |
| 15 | - render :file => 'blocks/software_highlights', :locals => { :block => block, :softwares => softwares} | |
| 16 | - end | |
| 17 | - end | |
| 18 | - | |
| 19 | - | |
| 20 | -end |
lib/software_info.rb
| ... | ... | @@ -1,261 +0,0 @@ |
| 1 | -class SoftwareInfo < ActiveRecord::Base | |
| 2 | - acts_as_having_settings :field => :settings | |
| 3 | - | |
| 4 | - SEARCHABLE_SOFTWARE_FIELDS = { | |
| 5 | - :acronym => 1, | |
| 6 | - :finality => 2, | |
| 7 | - } | |
| 8 | - | |
| 9 | - SEARCHABLE_SOFTWARE_CLASSES = [ | |
| 10 | - SoftwareInfo, | |
| 11 | - Community, | |
| 12 | - ProgrammingLanguage, | |
| 13 | - DatabaseDescription | |
| 14 | - ] | |
| 15 | - | |
| 16 | - scope :search_by_query, lambda { |query = ""| | |
| 17 | - filtered_query = query.gsub(/[\|\(\)\\\/\s\[\]'"*%&!:]/,' ').split.map{|w| w += ":*"}.join('|') | |
| 18 | - search_fields = SoftwareInfo.pg_search_plugin_fields | |
| 19 | - | |
| 20 | - if query.empty? | |
| 21 | - SoftwareInfo.joins(:community).where("profiles.visible = ?", true) | |
| 22 | - else | |
| 23 | - searchable_software_objects = SoftwareInfo.transform_list_in_methods_list(SEARCHABLE_SOFTWARE_CLASSES) | |
| 24 | - includes(searchable_software_objects).where("to_tsvector('simple', #{search_fields}) @@ to_tsquery('#{filtered_query}')").where("profiles.visible = ?", true) | |
| 25 | - end | |
| 26 | - } | |
| 27 | - | |
| 28 | - def self.transform_list_in_methods_list list | |
| 29 | - methods_list = [] | |
| 30 | - | |
| 31 | - list.each do |element| | |
| 32 | - if SoftwareInfo.instance_methods.include?(element.to_s.underscore.to_sym) | |
| 33 | - methods_list << element.to_s.underscore.to_sym | |
| 34 | - elsif SoftwareInfo.instance_methods.include?(element.to_s.underscore.pluralize.to_sym) | |
| 35 | - methods_list << element.to_s.underscore.pluralize.to_sym | |
| 36 | - end | |
| 37 | - end | |
| 38 | - | |
| 39 | - methods_list | |
| 40 | - end | |
| 41 | - | |
| 42 | - def self.pg_search_plugin_fields | |
| 43 | - SEARCHABLE_SOFTWARE_CLASSES.collect { |one_class| | |
| 44 | - self.get_searchable_fields(one_class) | |
| 45 | - }.join(" || ' ' || ") | |
| 46 | - end | |
| 47 | - | |
| 48 | - def self.get_searchable_fields one_class | |
| 49 | - searchable_fields = one_class::SEARCHABLE_SOFTWARE_FIELDS.keys.map(&:to_s).sort.map {|f| "coalesce(#{one_class.table_name}.#{f}, '')"}.join(" || ' ' || ") | |
| 50 | - searchable_fields | |
| 51 | - end | |
| 52 | - | |
| 53 | - SEARCH_FILTERS = { | |
| 54 | - :order => %w[], | |
| 55 | - :display => %w[full] | |
| 56 | - } | |
| 57 | - | |
| 58 | - def self.default_search_display | |
| 59 | - 'full' | |
| 60 | - end | |
| 61 | - | |
| 62 | - attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, | |
| 63 | - :operating_platform | |
| 64 | - | |
| 65 | - attr_accessible :demonstration_url, :acronym, :objectives, :features, | |
| 66 | - :license_info | |
| 67 | - | |
| 68 | - attr_accessible :community_id, :finality, :repository_link, :public_software, | |
| 69 | - :first_edit | |
| 70 | - | |
| 71 | - has_many :libraries, :dependent => :destroy | |
| 72 | - has_many :software_databases | |
| 73 | - has_many :database_descriptions, :through => :software_databases | |
| 74 | - has_many :software_languages | |
| 75 | - has_many :operating_systems | |
| 76 | - has_many :programming_languages, :through => :software_languages | |
| 77 | - has_many :operating_system_names, :through => :operating_systems | |
| 78 | - | |
| 79 | - belongs_to :community, :dependent => :destroy | |
| 80 | - belongs_to :license_info | |
| 81 | - | |
| 82 | - has_one :software_categories | |
| 83 | - | |
| 84 | - validates_length_of :finality, :maximum => 120 | |
| 85 | - validates_length_of :objectives, :maximum => 4000 | |
| 86 | - validates_length_of :features, :maximum => 4000 | |
| 87 | - validates_presence_of :finality | |
| 88 | - | |
| 89 | - validate :validate_acronym | |
| 90 | - | |
| 91 | - settings_items :another_license_version, :another_license_link | |
| 92 | - | |
| 93 | - # used on find_by_contents | |
| 94 | - scope :like_search, lambda{ |name| | |
| 95 | - joins(:community).where( | |
| 96 | - "name ILIKE ? OR acronym ILIKE ? OR finality ILIKE ?", | |
| 97 | - "%#{name}%", "%#{name}%", "%#{name}%" | |
| 98 | - ) | |
| 99 | - } | |
| 100 | - | |
| 101 | - scope :search, lambda { |name="", database_description_id = "", | |
| 102 | - programming_language_id = "", operating_system_name_id = "", | |
| 103 | - license_info_id = "", e_ping = "", e_mag = "", internacionalizable = "", | |
| 104 | - icp_brasil = "", e_arq = "", software_categories = "" | | |
| 105 | - | |
| 106 | - like_sql = "" | |
| 107 | - values = [] | |
| 108 | - | |
| 109 | - unless name.blank? | |
| 110 | - like_sql << "name ILIKE ? OR identifier ILIKE ? AND " | |
| 111 | - values << "%#{name}%" << "%#{name}%" | |
| 112 | - end | |
| 113 | - | |
| 114 | - like_sql = like_sql[0..like_sql.length-5] | |
| 115 | - | |
| 116 | - { | |
| 117 | - :joins => [:community], | |
| 118 | - :conditions=>[like_sql, *values] | |
| 119 | - } | |
| 120 | - } | |
| 121 | - | |
| 122 | - def license_info | |
| 123 | - license = LicenseInfo.find_by_id self.license_info_id | |
| 124 | - license_another = LicenseInfo.find_by_version("Another") | |
| 125 | - | |
| 126 | - if license_another && license.id == license_another.id | |
| 127 | - LicenseInfo.new( | |
| 128 | - :version => self.another_license_version, | |
| 129 | - :link => self.another_license_link | |
| 130 | - ) | |
| 131 | - else | |
| 132 | - license | |
| 133 | - end | |
| 134 | - end | |
| 135 | - | |
| 136 | - def another_license(version, link) | |
| 137 | - license_another = LicenseInfo.find_by_version("Another") | |
| 138 | - | |
| 139 | - if license_another | |
| 140 | - self.another_license_version = version | |
| 141 | - self.another_license_link = link | |
| 142 | - self.license_info = license_another | |
| 143 | - self.save! | |
| 144 | - end | |
| 145 | - end | |
| 146 | - | |
| 147 | - def validate_name_lenght | |
| 148 | - if self.community.name.size > 100 | |
| 149 | - self.errors.add( | |
| 150 | - :base, | |
| 151 | - _("Name is too long (maximum is %{count} characters)") | |
| 152 | - ) | |
| 153 | - false | |
| 154 | - end | |
| 155 | - true | |
| 156 | - end | |
| 157 | - | |
| 158 | - # if create_after_moderation receive a model object, would be possible to reuse core method | |
| 159 | - def self.create_after_moderation(requestor, attributes = {}) | |
| 160 | - environment = attributes.delete(:environment) | |
| 161 | - name = attributes.delete(:name) | |
| 162 | - identifier = attributes.delete(:identifier) | |
| 163 | - image_builder = attributes.delete(:image_builder) | |
| 164 | - license_info = attributes.delete(:license_info) | |
| 165 | - another_license_version = attributes.delete(:another_license_version) | |
| 166 | - another_license_link = attributes.delete(:another_license_link) | |
| 167 | - | |
| 168 | - software_info = SoftwareInfo.new(attributes) | |
| 169 | - if !environment.admins.include? requestor | |
| 170 | - CreateSoftware.create!( | |
| 171 | - attributes.merge( | |
| 172 | - :requestor => requestor, | |
| 173 | - :environment => environment, | |
| 174 | - :name => name, | |
| 175 | - :license_info => license_info | |
| 176 | - ) | |
| 177 | - ) | |
| 178 | - else | |
| 179 | - software_template = Community["software"] | |
| 180 | - | |
| 181 | - community_hash = {:name => name} | |
| 182 | - community_hash[:identifier] = identifier | |
| 183 | - community_hash[:image_builder] = image_builder if image_builder | |
| 184 | - | |
| 185 | - community = Community.new(community_hash) | |
| 186 | - community.environment = environment | |
| 187 | - | |
| 188 | - if (!software_template.blank? && software_template.is_template) | |
| 189 | - community.template_id = software_template.id | |
| 190 | - end | |
| 191 | - | |
| 192 | - software_info.license_info = license_info | |
| 193 | - software_info.save | |
| 194 | - community.software_info = software_info | |
| 195 | - community.save! | |
| 196 | - community.add_admin(requestor) | |
| 197 | - end | |
| 198 | - | |
| 199 | - software_info.verify_license_info(another_license_version, another_license_link) | |
| 200 | - software_info.save! | |
| 201 | - software_info | |
| 202 | - end | |
| 203 | - | |
| 204 | - def verify_license_info another_license_version, another_license_link | |
| 205 | - license_another = LicenseInfo.find_by_version("Another") | |
| 206 | - | |
| 207 | - if license_another && self.license_info_id == license_another.id | |
| 208 | - version = another_license_version | |
| 209 | - link = another_license_link | |
| 210 | - | |
| 211 | - self.another_license(version, link) | |
| 212 | - end | |
| 213 | - end | |
| 214 | - | |
| 215 | - | |
| 216 | - def validate_acronym | |
| 217 | - self.acronym = "" if self.acronym.nil? | |
| 218 | - if self.acronym.length > 10 && self.errors.messages[:acronym].nil? | |
| 219 | - self.errors.add(:acronym, _("can't have more than 10 characteres")) | |
| 220 | - false | |
| 221 | - elsif self.acronym.match(/\s+/) | |
| 222 | - self.errors.add(:acronym, _("can't have whitespaces")) | |
| 223 | - false | |
| 224 | - end | |
| 225 | - true | |
| 226 | - end | |
| 227 | - | |
| 228 | - def valid_operating_systems | |
| 229 | - if self.operating_systems.empty? | |
| 230 | - self.errors.add(:operating_system, _(": at least one must be filled")) | |
| 231 | - end | |
| 232 | - end | |
| 233 | - | |
| 234 | - def valid_software_info | |
| 235 | - if self.software_languages.empty? | |
| 236 | - self.errors.add(:software_languages, _(": at least one must be filled")) | |
| 237 | - end | |
| 238 | - end | |
| 239 | - | |
| 240 | - def valid_databases | |
| 241 | - if self.software_databases.empty? | |
| 242 | - self.errors.add(:software_databases, _(": at least one must be filled")) | |
| 243 | - end | |
| 244 | - end | |
| 245 | - | |
| 246 | - def visible? | |
| 247 | - self.community.visible? | |
| 248 | - end | |
| 249 | - | |
| 250 | - def name | |
| 251 | - self.community.name | |
| 252 | - end | |
| 253 | - | |
| 254 | - def short_name | |
| 255 | - self.community.short_name | |
| 256 | - end | |
| 257 | - | |
| 258 | - def identifier | |
| 259 | - self.community.identifier | |
| 260 | - end | |
| 261 | -end |
lib/software_information_block.rb
| ... | ... | @@ -1,37 +0,0 @@ |
| 1 | -class SoftwareInformationBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name | |
| 4 | - | |
| 5 | - settings_items :show_name, :type => :boolean, :default => false | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Basic Software Information') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def help | |
| 12 | - _('This block displays the basic information of a software profile.') | |
| 13 | - end | |
| 14 | - | |
| 15 | - def content(args={}) | |
| 16 | - block = self | |
| 17 | - s = show_name | |
| 18 | - | |
| 19 | - lambda do |object| | |
| 20 | - render( | |
| 21 | - :file => 'blocks/software_information', | |
| 22 | - :locals => { :block => block, :show_name => s} | |
| 23 | - ) | |
| 24 | - end | |
| 25 | - end | |
| 26 | - | |
| 27 | - def cacheable? | |
| 28 | - false | |
| 29 | - end | |
| 30 | - | |
| 31 | - private | |
| 32 | - | |
| 33 | - def owner_has_ratings? | |
| 34 | - ratings = CommunityRating.where(community_id: block.owner.id) | |
| 35 | - !ratings.empty? | |
| 36 | - end | |
| 37 | -end |
lib/software_language.rb
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -class SoftwareLanguage < ActiveRecord::Base | |
| 2 | - attr_accessible :version | |
| 3 | - | |
| 4 | - belongs_to :software_info | |
| 5 | - belongs_to :programming_language | |
| 6 | - | |
| 7 | - validates_length_of( | |
| 8 | - :version, | |
| 9 | - :maximum => 20, | |
| 10 | - :too_long => _("Software language is too long (maximum is 20 characters)") | |
| 11 | - ) | |
| 12 | - | |
| 13 | - validates_presence_of :version,:programming_language | |
| 14 | -end |
lib/software_language_helper.rb
| ... | ... | @@ -1,85 +0,0 @@ |
| 1 | -class SoftwareLanguageHelper < DynamicTableHelper | |
| 2 | - MODEL_NAME ="language" | |
| 3 | - FIELD_NAME = "programming_language_id" | |
| 4 | - | |
| 5 | - def self.valid_language? language | |
| 6 | - return false if SoftwareHelper.all_table_is_empty?(language) | |
| 7 | - | |
| 8 | - programming_language_id_list = ProgrammingLanguage. | |
| 9 | - select(:id). | |
| 10 | - collect { |dd| dd.id } | |
| 11 | - | |
| 12 | - return programming_language_id_list.include?( | |
| 13 | - language[:programming_language_id].to_i | |
| 14 | - ) | |
| 15 | - end | |
| 16 | - | |
| 17 | - def self.list_language new_languages | |
| 18 | - return [] if new_languages.nil? or new_languages.length == 0 | |
| 19 | - list_languages = [] | |
| 20 | - | |
| 21 | - new_languages.each do |new_language| | |
| 22 | - if valid_language? new_language | |
| 23 | - language = SoftwareLanguage.new | |
| 24 | - language.programming_language = | |
| 25 | - ProgrammingLanguage.find(new_language[:programming_language_id]) | |
| 26 | - language.version = new_language[:version] | |
| 27 | - list_languages << language | |
| 28 | - end | |
| 29 | - end | |
| 30 | - | |
| 31 | - list_languages | |
| 32 | - end | |
| 33 | - | |
| 34 | - def self.valid_list_language? list_languages | |
| 35 | - return false if list_languages.nil? or list_languages.length == 0 | |
| 36 | - | |
| 37 | - list_languages.each do |language| | |
| 38 | - return false unless language.valid? | |
| 39 | - end | |
| 40 | - | |
| 41 | - true | |
| 42 | - end | |
| 43 | - | |
| 44 | - def self.language_as_tables(list_languages, disabled=false) | |
| 45 | - model_list = list_languages | |
| 46 | - model_list ||= [{:programming_language_id => "", :version => ""}] | |
| 47 | - | |
| 48 | - models_as_tables model_list, "language_html_structure", disabled | |
| 49 | - end | |
| 50 | - | |
| 51 | - def self.language_html_structure(language_data, disabled) | |
| 52 | - language_id = language_data[:programming_language_id] | |
| 53 | - language_name = if language_data[:programming_language_id].blank? | |
| 54 | - "" | |
| 55 | - else | |
| 56 | - ProgrammingLanguage.find( | |
| 57 | - language_data[:programming_language_id], | |
| 58 | - :select=>"name" | |
| 59 | - ).name | |
| 60 | - end | |
| 61 | - | |
| 62 | - data = { | |
| 63 | - model_name: MODEL_NAME, | |
| 64 | - field_name: FIELD_NAME, | |
| 65 | - name: { | |
| 66 | - value: language_name, | |
| 67 | - id: language_id, | |
| 68 | - hidden: true, | |
| 69 | - autocomplete: true, | |
| 70 | - select_field: false | |
| 71 | - }, | |
| 72 | - version: { | |
| 73 | - value: language_data[:version], | |
| 74 | - hidden: true, | |
| 75 | - delete: true | |
| 76 | - } | |
| 77 | - } | |
| 78 | - DATA[:license].delete(:value) | |
| 79 | - table_html_structure(data, disabled) | |
| 80 | - end | |
| 81 | - | |
| 82 | - def self.add_dynamic_table | |
| 83 | - language_as_tables(nil).first.call | |
| 84 | - end | |
| 85 | -end |
lib/software_tab_data_block.rb
| ... | ... | @@ -1,48 +0,0 @@ |
| 1 | -class SoftwareTabDataBlock < Block | |
| 2 | - attr_accessible :show_name, :displayed_blog | |
| 3 | - | |
| 4 | - settings_items :show_name, :type => :boolean, :default => false | |
| 5 | - settings_items :displayed_blog, :type => :integer, :default => 0 | |
| 6 | - | |
| 7 | - TOTAL_POSTS_DYSPLAYED = 5 | |
| 8 | - | |
| 9 | - def self.description | |
| 10 | - _('Software Tab Data') | |
| 11 | - end | |
| 12 | - | |
| 13 | - def help | |
| 14 | - _('This block is used by colab to insert data into Noosfero') | |
| 15 | - end | |
| 16 | - | |
| 17 | - def content(args={}) | |
| 18 | - block = self | |
| 19 | - | |
| 20 | - lambda do |object| | |
| 21 | - render( | |
| 22 | - :file => 'blocks/software_tab_data', | |
| 23 | - :locals => { | |
| 24 | - :block => block | |
| 25 | - } | |
| 26 | - ) | |
| 27 | - end | |
| 28 | - end | |
| 29 | - | |
| 30 | - def blogs | |
| 31 | - self.owner.blogs | |
| 32 | - end | |
| 33 | - | |
| 34 | - def actual_blog | |
| 35 | - # As :displayed_blog default value is 0, it falls to the first one | |
| 36 | - blogs.find_by_id(self.displayed_blog) || blogs.first | |
| 37 | - end | |
| 38 | - | |
| 39 | - def posts | |
| 40 | - blog = actual_blog | |
| 41 | - | |
| 42 | - if blog and (not blog.posts.empty?) | |
| 43 | - blog.posts.limit(TOTAL_POSTS_DYSPLAYED) | |
| 44 | - else | |
| 45 | - [] | |
| 46 | - end | |
| 47 | - end | |
| 48 | -end |
lib/softwares_block.rb
| ... | ... | @@ -1,105 +0,0 @@ |
| 1 | -class SoftwaresBlock < CommunitiesBlock | |
| 2 | - | |
| 3 | - settings_items :software_type, :default => "All" | |
| 4 | - attr_accessible :accessor_id, :accessor_type, :role_id, | |
| 5 | - :resource_id, :resource_type, :software_type | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Softwares') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def default_title | |
| 12 | - if self.software_type == "Generic" | |
| 13 | - return n_('{#} generic software', '{#} generic softwares', profile_count) | |
| 14 | - elsif self.software_type == "Public" | |
| 15 | - return n_('{#} public software', '{#} public softwares', profile_count) | |
| 16 | - else | |
| 17 | - return n_('{#} software', '{#} softwares', profile_count) | |
| 18 | - end | |
| 19 | - end | |
| 20 | - | |
| 21 | - def help | |
| 22 | - _('This block displays the softwares in which the user is a member.') | |
| 23 | - end | |
| 24 | - | |
| 25 | - def footer | |
| 26 | - self.software_type ||= "All" | |
| 27 | - owner = self.owner | |
| 28 | - case owner | |
| 29 | - when Profile | |
| 30 | - lambda do |context| | |
| 31 | - link_to s_('softwares|View all'), :profile => owner.identifier, | |
| 32 | - :controller => 'profile', :action => 'communities', | |
| 33 | - :type => 'Software' | |
| 34 | - end | |
| 35 | - when Environment | |
| 36 | - lambda do |context| | |
| 37 | - link_to s_('softwares|View all'), :controller => 'search', | |
| 38 | - :action => 'software_infos' | |
| 39 | - end | |
| 40 | - else | |
| 41 | - '' | |
| 42 | - end | |
| 43 | - end | |
| 44 | - | |
| 45 | - def profile_count | |
| 46 | - profile_list.count | |
| 47 | - end | |
| 48 | - | |
| 49 | - def profiles | |
| 50 | - owner.communities | |
| 51 | - end | |
| 52 | - | |
| 53 | - def profile_list | |
| 54 | - profiles = get_visible_profiles | |
| 55 | - | |
| 56 | - software_profiles = profiles.select do |profile| | |
| 57 | - profile.class == Community && profile.software? | |
| 58 | - end | |
| 59 | - | |
| 60 | - block_softwares = if self.software_type == "Public" | |
| 61 | - software_profiles.select { |profile| profile.software_info.public_software? } | |
| 62 | - elsif self.software_type == "Generic" | |
| 63 | - software_profiles.select { |profile| !profile.software_info.public_software? } | |
| 64 | - else # All | |
| 65 | - software_profiles | |
| 66 | - end | |
| 67 | - | |
| 68 | - block_softwares.slice(0..get_limit-1) | |
| 69 | - end | |
| 70 | - | |
| 71 | - def content(arg={}) | |
| 72 | - if self.box.owner_type == "Environment" && self.box.position == 1 | |
| 73 | - block = self | |
| 74 | - | |
| 75 | - proc do | |
| 76 | - render :file => 'blocks/main_area_softwares', | |
| 77 | - :locals => {:profiles=> block.profile_list(), :block => block} | |
| 78 | - end | |
| 79 | - else | |
| 80 | - super(arg) | |
| 81 | - end | |
| 82 | - end | |
| 83 | - | |
| 84 | - protected | |
| 85 | - | |
| 86 | - def get_visible_profiles | |
| 87 | - profile_include_list = [:image, :domains, :preferred_domain, :environment] | |
| 88 | - visible_profiles = profiles.visible.includes(profile_include_list) | |
| 89 | - | |
| 90 | - if !prioritize_profiles_with_image | |
| 91 | - visible_profiles.all( :limit => get_limit, | |
| 92 | - :order => 'profiles.updated_at DESC' | |
| 93 | - ).sort_by{ rand } | |
| 94 | - elsif profiles.visible.with_image.count >= get_limit | |
| 95 | - visible_profiles.with_image.all( :limit => get_limit * 5, | |
| 96 | - :order => 'profiles.updated_at DESC' | |
| 97 | - ).sort_by{ rand } | |
| 98 | - else | |
| 99 | - visible_profiles.with_image.sort_by{ rand } + | |
| 100 | - visible_profiles.without_image.all( :limit => get_limit * 5, | |
| 101 | - :order => 'profiles.updated_at DESC' | |
| 102 | - ).sort_by{ rand } | |
| 103 | - end | |
| 104 | - end | |
| 105 | -end |
lib/statistic_block.rb
| ... | ... | @@ -1,52 +0,0 @@ |
| 1 | -class StatisticBlock < Block | |
| 2 | - | |
| 3 | - settings_items :benefited_people, :type => :integer, :default => 0 | |
| 4 | - settings_items :saved_resources, :type => :float, :default => 0.0 | |
| 5 | - | |
| 6 | - attr_accessible :benefited_people, :saved_resources | |
| 7 | - | |
| 8 | - def self.description | |
| 9 | - _('Software Statistics') | |
| 10 | - end | |
| 11 | - | |
| 12 | - def help | |
| 13 | - _('This block displays software statistics.') | |
| 14 | - end | |
| 15 | - | |
| 16 | - def content(args={}) | |
| 17 | - download_blocks = get_profile_download_blocks(self.owner) | |
| 18 | - downloads = download_blocks.map do |download_block| | |
| 19 | - get_downloads_from_block(download_block) | |
| 20 | - end | |
| 21 | - | |
| 22 | - block = self | |
| 23 | - | |
| 24 | - lambda do |object| | |
| 25 | - render( | |
| 26 | - :file => 'blocks/software_statistics', | |
| 27 | - :locals => { | |
| 28 | - :block => block, | |
| 29 | - :total_downloads => downloads.sum | |
| 30 | - } | |
| 31 | - ) | |
| 32 | - end | |
| 33 | - end | |
| 34 | - | |
| 35 | - def cacheable? | |
| 36 | - false | |
| 37 | - end | |
| 38 | - | |
| 39 | - private | |
| 40 | - | |
| 41 | - def get_profile_download_blocks profile | |
| 42 | - DownloadBlock.joins(:box).where("boxes.owner_id = ?", profile.id) | |
| 43 | - end | |
| 44 | - | |
| 45 | - def get_downloads_from_block download_block | |
| 46 | - downloads = download_block.downloads.map do |download| | |
| 47 | - download[:total_downloads] unless download[:total_downloads].nil? | |
| 48 | - end | |
| 49 | - downloads.select! {|value| not value.nil? } | |
| 50 | - downloads.sum | |
| 51 | - end | |
| 52 | -end |
lib/tasks/create_categories.rake
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | -namespace :software do | |
| 2 | - desc "Create software categories" | |
| 3 | - task :create_categories => :environment do | |
| 4 | - Environment.all.each do |env| | |
| 5 | - if env.plugin_enabled?("SoftwareCommunitiesPlugin") or env.plugin_enabled?("SoftwareCommunities") | |
| 6 | - print 'Creating categories: ' | |
| 7 | - software = Category.create(:name => _("Software"), :environment => env) | |
| 8 | - Category::SOFTWARE_CATEGORIES.each do |category_name| | |
| 9 | - unless Category.find_by_name(category_name) | |
| 10 | - print '.' | |
| 11 | - Category.create(:name => category_name, :environment => env, :parent => software) | |
| 12 | - else | |
| 13 | - print 'F' | |
| 14 | - end | |
| 15 | - end | |
| 16 | - puts '' | |
| 17 | - end | |
| 18 | - end | |
| 19 | - end | |
| 20 | -end |
lib/tasks/create_licenses.rake
| ... | ... | @@ -1,42 +0,0 @@ |
| 1 | -namespace :software do | |
| 2 | - desc "Create software licences" | |
| 3 | - | |
| 4 | - task :create_licenses => :environment do | |
| 5 | - Environment.all.each do |env| | |
| 6 | - if env.plugin_enabled?("SoftwareCommunitiesPlugin") or env.plugin_enabled?("SoftwareCommunities") | |
| 7 | - list_file = File.open "plugins/software_communities/public/static/licences.txt", "r" | |
| 8 | - | |
| 9 | - version_or_link = 'version' | |
| 10 | - can_save = true | |
| 11 | - licence = nil | |
| 12 | - | |
| 13 | - print 'Creating Licenses: ' | |
| 14 | - list_file.each_line do |line| | |
| 15 | - data = line.strip | |
| 16 | - | |
| 17 | - if data.length != 0 | |
| 18 | - if version_or_link == 'version' | |
| 19 | - can_save = LicenseInfo.find_by_version(data) ? false : true | |
| 20 | - licence = LicenseInfo::new :version => data | |
| 21 | - version_or_link = 'link' | |
| 22 | - elsif version_or_link == 'link' | |
| 23 | - licence.link = data | |
| 24 | - | |
| 25 | - if can_save | |
| 26 | - licence.save! | |
| 27 | - print '.' | |
| 28 | - else | |
| 29 | - print 'F' | |
| 30 | - end | |
| 31 | - | |
| 32 | - version_or_link = 'version' | |
| 33 | - end | |
| 34 | - end | |
| 35 | - end | |
| 36 | - puts '' | |
| 37 | - | |
| 38 | - list_file.close | |
| 39 | - end | |
| 40 | - end | |
| 41 | - end | |
| 42 | -end |
lib/tasks/create_sample_softwares.rake
| ... | ... | @@ -1,71 +0,0 @@ |
| 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?("SoftwareCommunitiesPlugin") or env.plugin_enabled?("SoftwareCommunities") | |
| 8 | - print "Creating softwares: " | |
| 9 | - | |
| 10 | - NUMBER_OF_SOFTWARES.times do |i| | |
| 11 | - number = i < 10 ? "0#{i}" : "#{i}" | |
| 12 | - software_name = "Software #{number}" | |
| 13 | - create_software_info(software_name) | |
| 14 | - end | |
| 15 | - | |
| 16 | - create_software_info("Ubuntu") | |
| 17 | - create_software_info("Debian") | |
| 18 | - create_software_info("Windows XP") | |
| 19 | - create_software_info("Windows Vista") | |
| 20 | - create_software_info("Windows 7") | |
| 21 | - create_software_info("Windows 8") | |
| 22 | - create_software_info("Disk Operating System", "DOS") | |
| 23 | - create_software_info("Sublime") | |
| 24 | - create_software_info("Vi IMproved", "Vim") | |
| 25 | - create_software_info("Nano") | |
| 26 | - create_software_info("Gedit") | |
| 27 | - create_software_info("Firefox") | |
| 28 | - create_software_info("InkScape") | |
| 29 | - create_software_info("Eclipse") | |
| 30 | - create_software_info("LibreOffice") | |
| 31 | - create_software_info("Tetris") | |
| 32 | - create_software_info("Mario") | |
| 33 | - create_software_info("Pong") | |
| 34 | - create_software_info("Sonic") | |
| 35 | - create_software_info("Astah") | |
| 36 | - create_software_info("Pokemom Red") | |
| 37 | - create_software_info("Mass Effect") | |
| 38 | - create_software_info("Deus EX") | |
| 39 | - create_software_info("Dragon Age") | |
| 40 | - | |
| 41 | - puts "" | |
| 42 | - end | |
| 43 | - end | |
| 44 | - end | |
| 45 | -end | |
| 46 | - | |
| 47 | -def create_community(name) | |
| 48 | - community = Community.new | |
| 49 | - community.name = name | |
| 50 | - community.save | |
| 51 | - community | |
| 52 | -end | |
| 53 | - | |
| 54 | -def create_software_info(name, acronym = "", finality = "default") | |
| 55 | - community = create_community(name) | |
| 56 | - software_info = SoftwareInfo.new | |
| 57 | - software_info.community = community | |
| 58 | - software_info.public_software = true | |
| 59 | - software_info.acronym = acronym | |
| 60 | - software_info.finality = finality | |
| 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 |
lib/tasks/export.rake
| ... | ... | @@ -1,133 +0,0 @@ |
| 1 | -require 'csv' | |
| 2 | - | |
| 3 | -namespace :export do | |
| 4 | - namespace :catalog do | |
| 5 | - desc "Export all softwares to CSV" | |
| 6 | - task :csv => :environment do | |
| 7 | - Environment.all.each do |env| | |
| 8 | - if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("SoftwareCommunitiesPlugin") | |
| 9 | - softwares_to_csv | |
| 10 | - categories_to_csv | |
| 11 | - software_categories_to_csv | |
| 12 | - | |
| 13 | - compress_files | |
| 14 | - end | |
| 15 | - end | |
| 16 | - end | |
| 17 | - end | |
| 18 | - | |
| 19 | - def softwares_to_csv | |
| 20 | - print "Exporting softwares to softwares.csv: " | |
| 21 | - | |
| 22 | - CSV.open('/tmp/softwares.csv', 'w') do |csv| | |
| 23 | - csv << [ | |
| 24 | - "id", | |
| 25 | - "community_id", | |
| 26 | - "identifier", | |
| 27 | - "name", | |
| 28 | - "finality", | |
| 29 | - "acronym", | |
| 30 | - "created_at", | |
| 31 | - "image_filename", | |
| 32 | - "home_page_name", | |
| 33 | - "home_page_slug", | |
| 34 | - "home_page_path", | |
| 35 | - "home_page_body", | |
| 36 | - "home_page_abstract", | |
| 37 | - "home_page_published_at" | |
| 38 | - ] | |
| 39 | - | |
| 40 | - SoftwareInfo.all.each do |software| | |
| 41 | - if software.community | |
| 42 | - begin | |
| 43 | - csv << [ | |
| 44 | - software.id, | |
| 45 | - software.community.id, | |
| 46 | - software.community.identifier, | |
| 47 | - software.community.name, | |
| 48 | - software.finality, | |
| 49 | - software.acronym, | |
| 50 | - software.community.created_at, | |
| 51 | - (software.community.image.nil? ? nil : software.community.image.filename), | |
| 52 | - (software.community.home_page.nil? ? nil : software.community.home_page.name), | |
| 53 | - (software.community.home_page.nil? ? nil : software.community.home_page.slug), | |
| 54 | - (software.community.home_page.nil? ? nil : software.community.home_page.path), | |
| 55 | - (software.community.home_page.nil? ? nil : software.community.home_page.body), | |
| 56 | - (software.community.home_page.nil? ? nil : software.community.home_page.abstract), | |
| 57 | - (software.community.home_page.nil? ? nil : software.community.home_page.published_at), | |
| 58 | - ] | |
| 59 | - | |
| 60 | - print '.' | |
| 61 | - rescue | |
| 62 | - print 'F' | |
| 63 | - end | |
| 64 | - end | |
| 65 | - end | |
| 66 | - end | |
| 67 | - | |
| 68 | - print "\n" | |
| 69 | - end | |
| 70 | - | |
| 71 | - def categories_to_csv | |
| 72 | - print "Exporting categories to categories.csv: " | |
| 73 | - | |
| 74 | - CSV.open('/tmp/categories.csv', 'w') do |csv| | |
| 75 | - csv << [ | |
| 76 | - "id", | |
| 77 | - "name", | |
| 78 | - "path", | |
| 79 | - ] | |
| 80 | - | |
| 81 | - Category.all.each do |category| | |
| 82 | - begin | |
| 83 | - csv << [ | |
| 84 | - category.id, | |
| 85 | - category.name, | |
| 86 | - category.path, | |
| 87 | - ] | |
| 88 | - | |
| 89 | - print '.' | |
| 90 | - rescue | |
| 91 | - print 'F' | |
| 92 | - end | |
| 93 | - end | |
| 94 | - end | |
| 95 | - | |
| 96 | - print "\n" | |
| 97 | - end | |
| 98 | - | |
| 99 | - def software_categories_to_csv | |
| 100 | - print "Exporting software and categories relation to software_categories.csv: " | |
| 101 | - CSV.open('/tmp/software_categories.csv', 'w') do |csv| | |
| 102 | - csv << [ | |
| 103 | - "software_id", | |
| 104 | - "category_id" | |
| 105 | - ] | |
| 106 | - | |
| 107 | - SoftwareInfo.all.each do |software| | |
| 108 | - if software.community | |
| 109 | - software.community.categories.each do |category| | |
| 110 | - begin | |
| 111 | - csv << [ | |
| 112 | - software.id, | |
| 113 | - category.id | |
| 114 | - ] | |
| 115 | - | |
| 116 | - print '.' | |
| 117 | - rescue | |
| 118 | - print 'F' | |
| 119 | - end | |
| 120 | - end | |
| 121 | - end | |
| 122 | - end | |
| 123 | - end | |
| 124 | - | |
| 125 | - print "\n" | |
| 126 | - end | |
| 127 | - | |
| 128 | - def compress_files | |
| 129 | - `cd /tmp/ && tar -zcvf software_catalog_csvs.tar.gz softwares.csv categories.csv software_categories.csv` | |
| 130 | - | |
| 131 | - `cd /tmp/ && rm softwares.csv categories.csv software_categories.csv` | |
| 132 | - end | |
| 133 | -end | |
| 134 | 0 | \ No newline at end of file |
lib/tasks/main_data.rake
| ... | ... | @@ -1,18 +0,0 @@ |
| 1 | -#!/bin/env ruby | |
| 2 | -# encoding: utf-8 | |
| 3 | - | |
| 4 | -namespace :main_data do | |
| 5 | - desc "Create the main community and its contents" | |
| 6 | - task :populate => :environment do | |
| 7 | - Rake::Task["templates:create:all"].invoke | |
| 8 | - Rake::Task["software:create_licenses"].invoke | |
| 9 | - Rake::Task["software:create_categories"].invoke | |
| 10 | - Rake::Task["software:create_sample_softwares"].invoke | |
| 11 | - end | |
| 12 | - | |
| 13 | - desc "Create the main community and its contents" | |
| 14 | - task :all => :environment do | |
| 15 | - Rake::Task["templates:destroy"].invoke | |
| 16 | - Rake::Task["main_data:populate"].invoke | |
| 17 | - end | |
| 18 | -end |
lib/tasks/templates.rake
| ... | ... | @@ -1,42 +0,0 @@ |
| 1 | -#!/bin/env ruby | |
| 2 | -# encoding: utf-8 | |
| 3 | - | |
| 4 | -namespace :templates do | |
| 5 | - namespace :create do | |
| 6 | - | |
| 7 | - desc "Create new templates of software, intitution, person and community" | |
| 8 | - task :all => :environment do | |
| 9 | - Rake::Task["templates:create:software"].invoke | |
| 10 | - end | |
| 11 | - | |
| 12 | - desc "Create new templates of software" | |
| 13 | - task :software => :environment do | |
| 14 | - Environment.all.each do |env| | |
| 15 | - if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("SoftwareCommunitiesPlugin") | |
| 16 | - software = Community["software"] | |
| 17 | - | |
| 18 | - if software.nil? | |
| 19 | - software = Community.create!(:name => "Software", :identifier => "software") | |
| 20 | - end | |
| 21 | - | |
| 22 | - software.layout_template = "default" | |
| 23 | - software.is_template = true | |
| 24 | - software.save! | |
| 25 | - | |
| 26 | - puts "Software Template successfully created!" | |
| 27 | - end | |
| 28 | - end | |
| 29 | - end | |
| 30 | - end | |
| 31 | - | |
| 32 | - desc "Destroy all templates created by this namespace" | |
| 33 | - task :destroy => :environment do | |
| 34 | - Environment.all.each do |env| | |
| 35 | - if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("SoftwareCommunitiesPlugin") | |
| 36 | - Community["software"].destroy unless Community["software"].nil? | |
| 37 | - puts "Software template destoyed with success!" | |
| 38 | - end | |
| 39 | - end | |
| 40 | - end | |
| 41 | - | |
| 42 | -end |
lib/wiki_block.rb
| ... | ... | @@ -1,30 +0,0 @@ |
| 1 | -class WikiBlock < Block | |
| 2 | - | |
| 3 | - attr_accessible :show_name, :wiki_link | |
| 4 | - settings_items :show_name, :type => :boolean, :default => false | |
| 5 | - settings_items :wiki_link, :type => :string, :default => "" | |
| 6 | - | |
| 7 | - def self.description | |
| 8 | - _('Wiki Link') | |
| 9 | - end | |
| 10 | - | |
| 11 | - def help | |
| 12 | - _('This block displays a link to the software wiki.') | |
| 13 | - end | |
| 14 | - | |
| 15 | - def content(args={}) | |
| 16 | - block = self | |
| 17 | - s = show_name | |
| 18 | - | |
| 19 | - lambda do |object| | |
| 20 | - render( | |
| 21 | - :file => 'blocks/wiki', | |
| 22 | - :locals => { :block => block, :show_name => s } | |
| 23 | - ) | |
| 24 | - end | |
| 25 | - end | |
| 26 | - | |
| 27 | - def cacheable? | |
| 28 | - true | |
| 29 | - end | |
| 30 | -end |
po/pt/software_communities.po
| ... | ... | @@ -1,1361 +0,0 @@ |
| 1 | -# SOME DESCRIPTIVE TITLE. | |
| 2 | -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
| 3 | -# This file is distributed under the same license as the PACKAGE package. | |
| 4 | -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
| 5 | -# | |
| 6 | -msgid "" | |
| 7 | -msgstr "" | |
| 8 | -"Project-Id-Version: 1.2.1+spb4-2-ged0502e\n" | |
| 9 | -"POT-Creation-Date: 2015-09-14 14:29-0300\n" | |
| 10 | -"PO-Revision-Date: 2014-11-12 13:05-0000\n" | |
| 11 | -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
| 12 | -"Language-Team: LANGUAGE <LL@li.org>\n" | |
| 13 | -"Language: \n" | |
| 14 | -"MIME-Version: 1.0\n" | |
| 15 | -"Content-Type: text/plain; charset=UTF-8\n" | |
| 16 | -"Content-Transfer-Encoding: 8bit\n" | |
| 17 | -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" | |
| 18 | - | |
| 19 | -#: plugins/software_communities/lib/search_catalog_block.rb:8 | |
| 20 | -msgid "Search Softwares catalog" | |
| 21 | -msgstr "Busca do catálogo de software" | |
| 22 | - | |
| 23 | -#: plugins/software_communities/lib/search_catalog_block.rb:12 | |
| 24 | -msgid "This block displays the search categories field " | |
| 25 | -msgstr "Este bloco apresenta a busca do campo de categorias" | |
| 26 | - | |
| 27 | -#: plugins/software_communities/lib/ext/category.rb:5 | |
| 28 | -msgid "Agriculture, Fisheries and Extraction" | |
| 29 | -msgstr "Agricultura, Extrativismo e Pesca" | |
| 30 | - | |
| 31 | -#: plugins/software_communities/lib/ext/category.rb:6 | |
| 32 | -msgid "Science, Information and Communication" | |
| 33 | -msgstr "Ciência, Informação e Comunicação " | |
| 34 | - | |
| 35 | -#: plugins/software_communities/lib/ext/category.rb:7 | |
| 36 | -msgid "Economy and Finances" | |
| 37 | -msgstr "Economia e Finanças" | |
| 38 | - | |
| 39 | -#: plugins/software_communities/lib/ext/category.rb:8 | |
| 40 | -msgid "Public Administration" | |
| 41 | -msgstr "Gestão Pública" | |
| 42 | - | |
| 43 | -#: plugins/software_communities/lib/ext/category.rb:9 | |
| 44 | -msgid "Habitation, Sanitation and Urbanism" | |
| 45 | -msgstr "Habitação, Saneamento e Urbanismo" | |
| 46 | - | |
| 47 | -#: plugins/software_communities/lib/ext/category.rb:10 | |
| 48 | -msgid "Individual, Family and Society" | |
| 49 | -msgstr "Pessoa, Família e Sociedade " | |
| 50 | - | |
| 51 | -#: plugins/software_communities/lib/ext/category.rb:11 | |
| 52 | -msgid "Health" | |
| 53 | -msgstr "Saúde" | |
| 54 | - | |
| 55 | -#: plugins/software_communities/lib/ext/category.rb:12 | |
| 56 | -msgid "Social Welfare and Development" | |
| 57 | -msgstr "Bem-estar e Desenvolvimento Social" | |
| 58 | - | |
| 59 | -#: plugins/software_communities/lib/ext/category.rb:13 | |
| 60 | -msgid "Defense and Security" | |
| 61 | -msgstr "Defesa e Segurança" | |
| 62 | - | |
| 63 | -#: plugins/software_communities/lib/ext/category.rb:14 | |
| 64 | -msgid "Education" | |
| 65 | -msgstr "Educação" | |
| 66 | - | |
| 67 | -#: plugins/software_communities/lib/ext/category.rb:15 | |
| 68 | -msgid "Government and Politics" | |
| 69 | -msgstr "Governo e Política" | |
| 70 | - | |
| 71 | -#: plugins/software_communities/lib/ext/category.rb:16 | |
| 72 | -msgid "Justice and Legislation" | |
| 73 | -msgstr "Justiça e Legislação" | |
| 74 | - | |
| 75 | -#: plugins/software_communities/lib/ext/category.rb:17 | |
| 76 | -msgid "International Relationships" | |
| 77 | -msgstr "Relações Internacionais" | |
| 78 | - | |
| 79 | -#: plugins/software_communities/lib/ext/category.rb:18 | |
| 80 | -msgid "Transportation and Transit" | |
| 81 | -msgstr "Transporte e Trânsito" | |
| 82 | - | |
| 83 | -#: plugins/software_communities/lib/ext/search_controller.rb:118 | |
| 84 | -msgid "Result Search" | |
| 85 | -msgstr "Resultado da pesquisa" | |
| 86 | - | |
| 87 | -#: plugins/software_communities/lib/ext/search_controller.rb:142 | |
| 88 | -msgid "Selected options: " | |
| 89 | -msgstr "Opções selecionadas:" | |
| 90 | - | |
| 91 | -#: plugins/software_communities/lib/repository_block.rb:8 | |
| 92 | -msgid "Repository Link" | |
| 93 | -msgstr "Link para o Repositório" | |
| 94 | - | |
| 95 | -#: plugins/software_communities/lib/repository_block.rb:12 | |
| 96 | -msgid "This block displays the repository link of a software." | |
| 97 | -msgstr "Este bloco apresenta o link para o repositório do software." | |
| 98 | - | |
| 99 | -#: plugins/software_communities/lib/wiki_block.rb:8 | |
| 100 | -msgid "Wiki Link" | |
| 101 | -msgstr "Link da wiki" | |
| 102 | - | |
| 103 | -#: plugins/software_communities/lib/wiki_block.rb:12 | |
| 104 | -msgid "This block displays a link to the software wiki." | |
| 105 | -msgstr "Este bloco apresenta o link para a wiki do software." | |
| 106 | - | |
| 107 | -#: plugins/software_communities/lib/statistic_block.rb:9 | |
| 108 | -msgid "Software Statistics" | |
| 109 | -msgstr "Estastísticas de software" | |
| 110 | - | |
| 111 | -#: plugins/software_communities/lib/statistic_block.rb:13 | |
| 112 | -msgid "This block displays software statistics." | |
| 113 | -msgstr "Este bloco apresenta a estatística de software" | |
| 114 | - | |
| 115 | -#: plugins/software_communities/lib/library.rb:5 | |
| 116 | -msgid "can't be blank" | |
| 117 | -msgstr "não pode ficar em branco" | |
| 118 | - | |
| 119 | -#: plugins/software_communities/lib/library.rb:8 | |
| 120 | -msgid "Too long (maximum is 20 characters)" | |
| 121 | -msgstr "Muito grande(máximo é 20 caracteres" | |
| 122 | - | |
| 123 | -#: plugins/software_communities/lib/software_info.rb:151 | |
| 124 | -msgid "Name is too long (maximum is %{count} characters)" | |
| 125 | -msgstr "Nome é muito longo(máximo é %{count} caracteres)" | |
| 126 | - | |
| 127 | -#: plugins/software_communities/lib/software_info.rb:219 | |
| 128 | -msgid "can't have more than 10 characteres" | |
| 129 | -msgstr "não pode ter mais de 10 caracteres" | |
| 130 | - | |
| 131 | -#: plugins/software_communities/lib/software_info.rb:222 | |
| 132 | -msgid "can't have whitespaces" | |
| 133 | -msgstr "não pode ter espaços em branco" | |
| 134 | - | |
| 135 | -#: plugins/software_communities/lib/software_info.rb:230 | |
| 136 | -#: plugins/software_communities/lib/software_info.rb:236 | |
| 137 | -#: plugins/software_communities/lib/software_info.rb:242 | |
| 138 | -msgid ": at least one must be filled" | |
| 139 | -msgstr ": ao menos um deve ser preenchido" | |
| 140 | - | |
| 141 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:17 | |
| 142 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:3 | |
| 143 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:37 | |
| 144 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:3 | |
| 145 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:3 | |
| 146 | -msgid "Name" | |
| 147 | -msgstr "Nome" | |
| 148 | - | |
| 149 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:18 | |
| 150 | -msgid "Version" | |
| 151 | -msgstr "Versão" | |
| 152 | - | |
| 153 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:19 | |
| 154 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:18 | |
| 155 | -msgid "License" | |
| 156 | -msgstr "Licença" | |
| 157 | - | |
| 158 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:91 | |
| 159 | -msgid "Autocomplete field, type something" | |
| 160 | -msgstr "Campo automático, digite algo" | |
| 161 | - | |
| 162 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:116 | |
| 163 | -#: plugins/software_communities/views/box_organizer/_download_list_template.html.erb:8 | |
| 164 | -#: plugins/software_communities/views/box_organizer/_download_list.html.erb:8 | |
| 165 | -msgid "Delete" | |
| 166 | -msgstr "Deletar" | |
| 167 | - | |
| 168 | -#: plugins/software_communities/lib/create_software.rb:36 | |
| 169 | -msgid "New software" | |
| 170 | -msgstr "Novo software" | |
| 171 | - | |
| 172 | -#: plugins/software_communities/lib/create_software.rb:44 | |
| 173 | -msgid "%{requestor} wants to create software %{subject} with" | |
| 174 | -msgstr "%{requestor} deseja criar o software %{subject} com" | |
| 175 | - | |
| 176 | -#: plugins/software_communities/lib/create_software.rb:46 | |
| 177 | -msgid " no finality." | |
| 178 | -msgstr " campo finalidade em branco." | |
| 179 | - | |
| 180 | -#: plugins/software_communities/lib/create_software.rb:48 | |
| 181 | -msgid " this finality:<p><em>%{finality}</em></p>" | |
| 182 | -msgstr " esta finalidade:<p><em>%{finality}</em></p>" | |
| 183 | - | |
| 184 | -#: plugins/software_communities/lib/create_software.rb:68 | |
| 185 | -msgid "%{requestor} wants to create software %{subject}" | |
| 186 | -msgstr "%{requestor} deseja criar o software %{subject}" | |
| 187 | - | |
| 188 | -#: plugins/software_communities/lib/create_software.rb:73 | |
| 189 | -msgid "" | |
| 190 | -"User \"%{user}\" just requested to create software %{software}.\n" | |
| 191 | -" You have to approve or reject it through the \"Pending Validations\"\n" | |
| 192 | -" section in your control panel.\n" | |
| 193 | -msgstr "" | |
| 194 | -"Usuário \"%{user}\" acabou de requisitar a criação do software %{software}.\n" | |
| 195 | -" Você deve aprovar ou rejeitar pela seção \"Tarefas pendentes\"\n" | |
| 196 | -" no seu painel de controle.\n" | |
| 197 | - | |
| 198 | -#: plugins/software_communities/lib/create_software.rb:80 | |
| 199 | -msgid "" | |
| 200 | -"Your request for registering software %{software} at %{environment} was\n" | |
| 201 | -" just sent. Environment administrator will receive it and will approve " | |
| 202 | -"or\n" | |
| 203 | -" reject your request according to his methods and criteria.\n" | |
| 204 | -"\n" | |
| 205 | -" You will be notified as soon as environment administrator has a " | |
| 206 | -"position\n" | |
| 207 | -" about your request." | |
| 208 | -msgstr "" | |
| 209 | -"O seu pedido para registrar o software %{software} no %{environment} foi\n" | |
| 210 | -" enviada. O administrador do ambiente irá recebe-la e aprovará ou rejeitará " | |
| 211 | -"seu pedido de acordo com seus métodos e critérios.\n" | |
| 212 | -"\n" | |
| 213 | -" Você será notificado assim que o administrador do ambiente tiver uma " | |
| 214 | -"resposta sobre o seu pedido." | |
| 215 | - | |
| 216 | -#: plugins/software_communities/lib/create_software.rb:90 | |
| 217 | -msgid "" | |
| 218 | -"Your request for registering software %{software} at %{environment} was\n" | |
| 219 | -" not approved by the environment administrator. The following " | |
| 220 | -"explanation\n" | |
| 221 | -" was given: \n" | |
| 222 | -"\n" | |
| 223 | -"%{explanation}" | |
| 224 | -msgstr "" | |
| 225 | -"Seu pedido para registro do software %{software} no %{environment} não " | |
| 226 | -"foi\n" | |
| 227 | -" aprovado pelo administrador do ambiente. A seguinte explicação\n" | |
| 228 | -" foi fornecida:\n" | |
| 229 | -"\n" | |
| 230 | -"%{explanation}" | |
| 231 | - | |
| 232 | -#: plugins/software_communities/lib/create_software.rb:99 | |
| 233 | -msgid "" | |
| 234 | -"Your request for registering the software \"%{software}\" was approved.\n" | |
| 235 | -" You can access %{url} and finish the registration of your software." | |
| 236 | -msgstr "" | |
| 237 | -"Seu pedido para registro do software %{software} foi aprovada.\n" | |
| 238 | -" Você pode acessar %{url} e finalizar o registro do seu software. " | |
| 239 | - | |
| 240 | -#: plugins/software_communities/lib/operating_system.rb:12 | |
| 241 | -msgid "too long (maximum is 20 characters)" | |
| 242 | -msgstr "muito longo(máximo é 20 caracteres)" | |
| 243 | - | |
| 244 | -#: plugins/software_communities/lib/software_highlights_block.rb:4 | |
| 245 | -msgid "Software Highlights Block" | |
| 246 | -msgstr "Bloco de software em destaque" | |
| 247 | - | |
| 248 | -#: plugins/software_communities/lib/software_highlights_block.rb:8 | |
| 249 | -msgid "This block displays the softwares icon into a highlight" | |
| 250 | -msgstr "Esse bloco apresenta o ícone do software em destaque" | |
| 251 | - | |
| 252 | -#: plugins/software_communities/lib/categories_software_block.rb:8 | |
| 253 | -msgid "Categories Softwares" | |
| 254 | -msgstr "Categorias de Softwares" | |
| 255 | - | |
| 256 | -#: plugins/software_communities/lib/categories_software_block.rb:12 | |
| 257 | -msgid "" | |
| 258 | -"This block displays the categories and the amount of softwares for\n" | |
| 259 | -" each category." | |
| 260 | -msgstr "" | |
| 261 | -"Este bloco apresenta as categorias e a quantidade de softwares para \n" | |
| 262 | -" cada categoria." | |
| 263 | - | |
| 264 | -#: plugins/software_communities/lib/softwares_block.rb:8 | |
| 265 | -msgid "Softwares" | |
| 266 | -msgstr "Softwares" | |
| 267 | - | |
| 268 | -#: plugins/software_communities/lib/softwares_block.rb:13 | |
| 269 | -msgid "{#} generic software" | |
| 270 | -msgid_plural "{#} generic softwares" | |
| 271 | -msgstr[0] "{#} software genérico" | |
| 272 | -msgstr[1] "{#} softwares genéricos" | |
| 273 | - | |
| 274 | -#: plugins/software_communities/lib/softwares_block.rb:15 | |
| 275 | -msgid "{#} public software" | |
| 276 | -msgid_plural "{#} public softwares" | |
| 277 | -msgstr[0] "{#} software público" | |
| 278 | -msgstr[1] "{#} software públicos" | |
| 279 | - | |
| 280 | -#: plugins/software_communities/lib/softwares_block.rb:17 | |
| 281 | -msgid "{#} software" | |
| 282 | -msgid_plural "{#} softwares" | |
| 283 | -msgstr[0] "{#} software" | |
| 284 | -msgstr[1] "{#} softwares" | |
| 285 | - | |
| 286 | -#: plugins/software_communities/lib/softwares_block.rb:22 | |
| 287 | -msgid "This block displays the softwares in which the user is a member." | |
| 288 | -msgstr "Este bloco apresenta os softwares em que o usuário é membro." | |
| 289 | - | |
| 290 | -#: plugins/software_communities/lib/softwares_block.rb:31 | |
| 291 | -#: plugins/software_communities/lib/softwares_block.rb:37 | |
| 292 | -msgid "softwares|View all" | |
| 293 | -msgstr "softwares|Veja todos" | |
| 294 | - | |
| 295 | -#: plugins/software_communities/lib/software_communities_plugin.rb:17 | |
| 296 | -msgid "Add Public Software and MPOG features." | |
| 297 | -msgstr "Adicionar Software Público e Funcionalidades." | |
| 298 | - | |
| 299 | -#: plugins/software_communities/lib/software_communities_plugin.rb:90 | |
| 300 | -msgid "Rate this software" | |
| 301 | -msgstr "Avalie esse software" | |
| 302 | - | |
| 303 | -#: plugins/software_communities/lib/software_communities_plugin.rb:94 | |
| 304 | -msgid "Use reports" | |
| 305 | -msgstr "Relatos de uso" | |
| 306 | - | |
| 307 | -#: plugins/software_communities/lib/software_communities_plugin.rb:138 | |
| 308 | -msgid "Software Info" | |
| 309 | -msgstr "Informação de Software" | |
| 310 | - | |
| 311 | -#: plugins/software_communities/lib/software_communities_plugin.rb:149 | |
| 312 | -msgid "Create a new software" | |
| 313 | -msgstr "Criar um novo software" | |
| 314 | - | |
| 315 | -#: plugins/software_communities/lib/software_communities_plugin.rb:159 | |
| 316 | -msgid "Software" | |
| 317 | -msgstr "Software" | |
| 318 | - | |
| 319 | -#: plugins/software_communities/lib/software_language.rb:10 | |
| 320 | -msgid "Software language is too long (maximum is 20 characters)" | |
| 321 | -msgstr "Linguagem do software está muito grande (máximo de 20 caracteres)" | |
| 322 | - | |
| 323 | -#: plugins/software_communities/lib/software_tab_data_block.rb:10 | |
| 324 | -msgid "Software Tab Data" | |
| 325 | -msgstr "Aba de dados do software" | |
| 326 | - | |
| 327 | -#: plugins/software_communities/lib/software_tab_data_block.rb:14 | |
| 328 | -msgid "This block is used by colab to insert data into Noosfero" | |
| 329 | -msgstr "Esse bloco é usado pelo Colab para inserir dados no noosfero" | |
| 330 | - | |
| 331 | -#: plugins/software_communities/lib/download_block.rb:15 | |
| 332 | -msgid "Download Stable Version" | |
| 333 | -msgstr "Baixar Versão Estável" | |
| 334 | - | |
| 335 | -#: plugins/software_communities/lib/download_block.rb:19 | |
| 336 | -msgid "This block displays the stable version of a software." | |
| 337 | -msgstr "Este block apresenta a versão estável do software." | |
| 338 | - | |
| 339 | -#: plugins/software_communities/lib/software_database.rb:12 | |
| 340 | -msgid "Software database is too long (maximum is 20 characters)" | |
| 341 | -msgstr "Banco de dados do software está muito grande(máximo é 20 caracteres)" | |
| 342 | - | |
| 343 | -#: plugins/software_communities/lib/software_information_block.rb:8 | |
| 344 | -msgid "Basic Software Information" | |
| 345 | -msgstr "Informação Básica do Software" | |
| 346 | - | |
| 347 | -#: plugins/software_communities/lib/software_information_block.rb:12 | |
| 348 | -msgid "This block displays the basic information of a software profile." | |
| 349 | -msgstr "Este bloco apresenta a informação básica de um perfil de software." | |
| 350 | - | |
| 351 | -#: plugins/software_communities/lib/categories_and_tags_block.rb:8 | |
| 352 | -msgid "Categories and Tags" | |
| 353 | -msgstr "Categorias e Marcadores" | |
| 354 | - | |
| 355 | -#: plugins/software_communities/lib/categories_and_tags_block.rb:12 | |
| 356 | -msgid "This block displays the categories and tags of a software." | |
| 357 | -msgstr "Este block apresenta as categorias e marcadores de um software." | |
| 358 | - | |
| 359 | -#: plugins/software_communities/test/unit/software_info_validation_test.rb:108 | |
| 360 | -msgid "Features is too long (maximum is 4000 characters)" | |
| 361 | -msgstr "Funcionalidades está muito grande(máximo é 4000 caracteres)" | |
| 362 | - | |
| 363 | -#: plugins/software_communities/test/unit/software_info_validation_test.rb:116 | |
| 364 | -msgid "Objectives is too long (maximum is 4000 characters)" | |
| 365 | -msgstr "Objetivo está muito grande (máximo é 4000 caracteres)" | |
| 366 | - | |
| 367 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:41 | |
| 368 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:19 | |
| 369 | -msgid "Save and Configure Community" | |
| 370 | -msgstr "Salvar e Configurar Comunidade" | |
| 371 | - | |
| 372 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:45 | |
| 373 | -msgid "Software updated successfully" | |
| 374 | -msgstr "Software atualizado com sucesso" | |
| 375 | - | |
| 376 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:49 | |
| 377 | -msgid "Could not update software" | |
| 378 | -msgstr "Não foi possível atualizar o software" | |
| 379 | - | |
| 380 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:130 | |
| 381 | -msgid "" | |
| 382 | -"Your new software request will be evaluated by anadministrator. You will be " | |
| 383 | -"notified." | |
| 384 | -msgstr "" | |
| 385 | -"Seu pedido para registro do software será avaliado por um administrador. " | |
| 386 | -"Você será notificado." | |
| 387 | - | |
| 388 | -#: plugins/software_communities/controllers/software_communities_plugin_profile_controller.rb:7 | |
| 389 | -msgid "Could not find the download file" | |
| 390 | -msgstr "Não foi possível encontrar o arquivo para download" | |
| 391 | - | |
| 392 | -#: plugins/software_communities/controllers/software_communities_plugin_profile_controller.rb:8 | |
| 393 | -msgid "Invalid download params" | |
| 394 | -msgstr "Parâmetros de Download inválidos" | |
| 395 | - | |
| 396 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:1 | |
| 397 | -msgid "General information" | |
| 398 | -msgstr "Informação geral" | |
| 399 | - | |
| 400 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:40 | |
| 401 | -msgid "Address" | |
| 402 | -msgstr "Endereço" | |
| 403 | - | |
| 404 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:46 | |
| 405 | -msgid "WARNING!" | |
| 406 | -msgstr "PERIGO!" | |
| 407 | - | |
| 408 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:47 | |
| 409 | -msgid "" | |
| 410 | -"You are about to change the address, and this will break external links to " | |
| 411 | -"the homepage or to content inside it. Do you really want to change?" | |
| 412 | -msgstr "" | |
| 413 | -"Você está prestes a mudar o endereço, e isso vai quebrar links externos para " | |
| 414 | -"a página inicial ou para o conteúdo dentro dela. Você realmente quer mudar?" | |
| 415 | - | |
| 416 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:49 | |
| 417 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:7 | |
| 418 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:8 | |
| 419 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:9 | |
| 420 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:10 | |
| 421 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:11 | |
| 422 | -msgid "Yes" | |
| 423 | -msgstr "Sim" | |
| 424 | - | |
| 425 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:50 | |
| 426 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:7 | |
| 427 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:8 | |
| 428 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:9 | |
| 429 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:10 | |
| 430 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:11 | |
| 431 | -msgid "No" | |
| 432 | -msgstr "Não" | |
| 433 | - | |
| 434 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:63 | |
| 435 | -msgid "Enable \"contact us\"" | |
| 436 | -msgstr "Habilitar \"entre em contato\"" | |
| 437 | - | |
| 438 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:68 | |
| 439 | -msgid "Products/Services catalog" | |
| 440 | -msgstr "Catálogo de Produtos/Serviços" | |
| 441 | - | |
| 442 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:69 | |
| 443 | -msgid "Number of products/services displayed per page on catalog" | |
| 444 | -msgstr "Número de produtos/serviços mostrado por página no catálogo" | |
| 445 | - | |
| 446 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:4 | |
| 447 | -msgid "Configure Software Community" | |
| 448 | -msgstr "Configurar Comunidade do Software" | |
| 449 | - | |
| 450 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:8 | |
| 451 | -msgid "Set the basic settings of the software associated community" | |
| 452 | -msgstr "Defina as configurações básicas da comunidade do software" | |
| 453 | - | |
| 454 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:18 | |
| 455 | -msgid "This profile is a template" | |
| 456 | -msgstr "Este perfil é um template" | |
| 457 | - | |
| 458 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:24 | |
| 459 | -msgid "Privacy options" | |
| 460 | -msgstr "Opções de privacidade" | |
| 461 | - | |
| 462 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:28 | |
| 463 | -msgid "Public — show my contents to all internet users" | |
| 464 | -msgstr "Público — mostrar meus conteúdos a todos os usuários na internet" | |
| 465 | - | |
| 466 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:31 | |
| 467 | -msgid "Private — show my contents only to friends" | |
| 468 | -msgstr "Privado — mostrar meus conteudos apenas aos amigos" | |
| 469 | - | |
| 470 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:35 | |
| 471 | -msgid "Public — show content of this group to all internet users" | |
| 472 | -msgstr "" | |
| 473 | -"Público — mostrar conteudos deste grupo a todos os usuários na internet" | |
| 474 | - | |
| 475 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:38 | |
| 476 | -msgid "Private — show content of this group only to members" | |
| 477 | -msgstr "Privado — mostrar meus conteudos deste grupo apenas aos membros" | |
| 478 | - | |
| 479 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:43 | |
| 480 | -msgid "Page to redirect after login" | |
| 481 | -msgstr "Página para redirecionar após o login" | |
| 482 | - | |
| 483 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:47 | |
| 484 | -msgid "Translations" | |
| 485 | -msgstr "Traduções" | |
| 486 | - | |
| 487 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:49 | |
| 488 | -msgid "" | |
| 489 | -"Automaticaly redirect the visitor to the article translated to his/her " | |
| 490 | -"language" | |
| 491 | -msgstr "" | |
| 492 | -"Redirecionar automaticamente o visitante para o artigo traduzido para sua " | |
| 493 | -"língua" | |
| 494 | - | |
| 495 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:53 | |
| 496 | -msgid "Suggestions" | |
| 497 | -msgstr "Sugestões" | |
| 498 | - | |
| 499 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:55 | |
| 500 | -msgid "Send me relationship suggestions by email" | |
| 501 | -msgstr "Envie-me sugestões de relacionamento por e-mail" | |
| 502 | - | |
| 503 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:65 | |
| 504 | -#: plugins/software_communities/views/search/_full_community.html.erb:27 | |
| 505 | -msgid "Software Categories" | |
| 506 | -msgstr "Categorias de Software" | |
| 507 | - | |
| 508 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:68 | |
| 509 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:18 | |
| 510 | -msgid "Save" | |
| 511 | -msgstr "Salvar" | |
| 512 | - | |
| 513 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:71 | |
| 514 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:20 | |
| 515 | -msgid "Back to control panel" | |
| 516 | -msgstr "Voltar para o painel de controle" | |
| 517 | - | |
| 518 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:77 | |
| 519 | -msgid "Delete software and community" | |
| 520 | -msgstr "Remover software e comunidade" | |
| 521 | - | |
| 522 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:80 | |
| 523 | -msgid "Deactivate software and community" | |
| 524 | -msgstr "Desativar software e comunidade" | |
| 525 | - | |
| 526 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:80 | |
| 527 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:82 | |
| 528 | -msgid "Are you sure you want to deactivate this profile?" | |
| 529 | -msgstr "Tem certeza de que deseja desativar esse perfil?" | |
| 530 | - | |
| 531 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:82 | |
| 532 | -msgid "Activate software and community" | |
| 533 | -msgstr "Ativar software e comunidade" | |
| 534 | - | |
| 535 | -#: plugins/software_communities/views/profile_editor/_first_edit_software_community_extras.html.erb:3 | |
| 536 | -msgid "Step 1 - Software Creation" | |
| 537 | -msgstr "Passo 1 - Criação do Software" | |
| 538 | - | |
| 539 | -#: plugins/software_communities/views/profile_editor/_first_edit_software_community_extras.html.erb:7 | |
| 540 | -msgid "Step 2 - Community Settings" | |
| 541 | -msgstr "Passo 2 - Configuração da Comunidade" | |
| 542 | - | |
| 543 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_license_info_fields.html.erb:5 | |
| 544 | -msgid "Autocomplete field, type some license" | |
| 545 | -msgstr "Campo com auto completar, digite uma licença" | |
| 546 | - | |
| 547 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_license_info_fields.html.erb:8 | |
| 548 | -msgid "Read license" | |
| 549 | -msgstr "Ler licença" | |
| 550 | - | |
| 551 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:4 | |
| 552 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:7 | |
| 553 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:10 | |
| 554 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:14 | |
| 555 | -msgid "Public Software" | |
| 556 | -msgstr "Software Público" | |
| 557 | - | |
| 558 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:4 | |
| 559 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:7 | |
| 560 | -msgid "Public software" | |
| 561 | -msgstr "Software Público" | |
| 562 | - | |
| 563 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:12 | |
| 564 | -msgid "Adherent to e-PING ?" | |
| 565 | -msgstr "Aderente ao e-PING ?" | |
| 566 | - | |
| 567 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:21 | |
| 568 | -msgid "Adherent to e-MAG ?" | |
| 569 | -msgstr "Aderente ao e-MAG ?" | |
| 570 | - | |
| 571 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:30 | |
| 572 | -msgid "Adherent to ICP-Brasil ?" | |
| 573 | -msgstr "Aderente ao ICP-Brasil ?" | |
| 574 | - | |
| 575 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:39 | |
| 576 | -msgid "Adherent to e-ARQ ?" | |
| 577 | -msgstr "Aderente ao e-ARQ ?" | |
| 578 | - | |
| 579 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:48 | |
| 580 | -msgid "Internacionalizable ?" | |
| 581 | -msgstr "Internacionalizável ?" | |
| 582 | - | |
| 583 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:59 | |
| 584 | -msgid "Operating Platform" | |
| 585 | -msgstr "Plataforma Operacional" | |
| 586 | - | |
| 587 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:64 | |
| 588 | -msgid "Features" | |
| 589 | -msgstr "Características" | |
| 590 | - | |
| 591 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:69 | |
| 592 | -msgid "Demonstration url" | |
| 593 | -msgstr "Url de demonstração" | |
| 594 | - | |
| 595 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:74 | |
| 596 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:35 | |
| 597 | -msgid "Libraries" | |
| 598 | -msgstr "Bibliotecas" | |
| 599 | - | |
| 600 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:82 | |
| 601 | -msgid "Operating Systems" | |
| 602 | -msgstr "Sistemas Operacionais" | |
| 603 | - | |
| 604 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:90 | |
| 605 | -msgid "Programming languages" | |
| 606 | -msgstr "Linguagens de programação" | |
| 607 | - | |
| 608 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:97 | |
| 609 | -msgid "Databases" | |
| 610 | -msgstr "Banco de dados" | |
| 611 | - | |
| 612 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:1 | |
| 613 | -msgid "Edit Software" | |
| 614 | -msgstr "Editar Software" | |
| 615 | - | |
| 616 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:9 | |
| 617 | -msgid "Main Information" | |
| 618 | -msgstr "Informação" | |
| 619 | - | |
| 620 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:12 | |
| 621 | -msgid "Specifications" | |
| 622 | -msgstr "Especificações" | |
| 623 | - | |
| 624 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_language_fields.html.erb:11 | |
| 625 | -msgid "New language" | |
| 626 | -msgstr "Nova linguagem" | |
| 627 | - | |
| 628 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_library_fields.html.erb:11 | |
| 629 | -msgid "New Library" | |
| 630 | -msgstr "Nova Biblioteca" | |
| 631 | - | |
| 632 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_operating_system_fields.html.erb:11 | |
| 633 | -msgid "New Operating System" | |
| 634 | -msgstr "Novo Sistema Operacional" | |
| 635 | - | |
| 636 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_database_fields.html.erb:11 | |
| 637 | -msgid "New Database" | |
| 638 | -msgstr "Novo Banco de Dados" | |
| 639 | - | |
| 640 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:8 | |
| 641 | -msgid "Short Name" | |
| 642 | -msgstr "Nome Curto" | |
| 643 | - | |
| 644 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:14 | |
| 645 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:56 | |
| 646 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:10 | |
| 647 | -msgid "Finality" | |
| 648 | -msgstr "Finalidade" | |
| 649 | - | |
| 650 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:15 | |
| 651 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:57 | |
| 652 | -msgid "What is the software for?" | |
| 653 | -msgstr "Para quê serve o software?" | |
| 654 | - | |
| 655 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:21 | |
| 656 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:64 | |
| 657 | -msgid "Software Logo" | |
| 658 | -msgstr "Marca do Software" | |
| 659 | - | |
| 660 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:26 | |
| 661 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:69 | |
| 662 | -msgid "Image:" | |
| 663 | -msgstr "Imagem:" | |
| 664 | - | |
| 665 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:26 | |
| 666 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:69 | |
| 667 | -msgid "Max size: %s (.jpg, .gif, .png)" | |
| 668 | -msgstr "Tamanho máximo: %s (.jpg, .gif, .png)" | |
| 669 | - | |
| 670 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:33 | |
| 671 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:76 | |
| 672 | -msgid "License Version: " | |
| 673 | -msgstr "Versão da Licença: " | |
| 674 | - | |
| 675 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:45 | |
| 676 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:89 | |
| 677 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:29 | |
| 678 | -msgid "Link to Repository: " | |
| 679 | -msgstr "Link para o Repositório" | |
| 680 | - | |
| 681 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:5 | |
| 682 | -msgid "Creating new software" | |
| 683 | -msgstr "Criando novo software" | |
| 684 | - | |
| 685 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:9 | |
| 686 | -msgid "" | |
| 687 | -"Enter the basic information about the software.<br>\n" | |
| 688 | -" You can add the details after you create it." | |
| 689 | -msgstr "" | |
| 690 | -"Entre com as informações básicas do software.<br>\n" | |
| 691 | -" Você pode adicionar os detalhes após sua criação." | |
| 692 | - | |
| 693 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:16 | |
| 694 | -msgid "" | |
| 695 | -"Note that the creation of communities in this environment is restricted. " | |
| 696 | -"Your request to create this new community will be sent to %{environment} " | |
| 697 | -"administrators and will be approved or rejected according to their methods " | |
| 698 | -"and criteria." | |
| 699 | -msgstr "" | |
| 700 | -"Note que a criação de comunidades nesse ambiente é restrita. Sua requisição " | |
| 701 | -"para criar essa nova comunidade será enviada aos administradores do " | |
| 702 | -"%{environment} para ser aprovada ou rejeitada de acordo com os seus métodos " | |
| 703 | -"e critérios" | |
| 704 | - | |
| 705 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:22 | |
| 706 | -msgid "\"Can`t create new software: #{@errors.length} errors\"" | |
| 707 | -msgstr "\"Não foi possível criar o software: #{@errors.length} errors\"" | |
| 708 | - | |
| 709 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:45 | |
| 710 | -msgid "Domain" | |
| 711 | -msgstr "Domínio" | |
| 712 | - | |
| 713 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:97 | |
| 714 | -msgid "Create" | |
| 715 | -msgstr "Criar" | |
| 716 | - | |
| 717 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:98 | |
| 718 | -msgid "Cancel" | |
| 719 | -msgstr "Cancelar" | |
| 720 | - | |
| 721 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:12 | |
| 722 | -msgid "see all (%d)" | |
| 723 | -msgstr "ver todos (%d)" | |
| 724 | - | |
| 725 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:34 | |
| 726 | -msgid "No software found. Try more general filters" | |
| 727 | -msgstr "Nenhum software encontrado. Tente outros filtros" | |
| 728 | - | |
| 729 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:36 | |
| 730 | -msgid "" | |
| 731 | -"No software found. Try more general filters or check the software category " | |
| 732 | -"individually" | |
| 733 | -msgstr "" | |
| 734 | -"Nenhum software encontrado. Tente outros filtros ou verifique a categoria do " | |
| 735 | -"software individualmente" | |
| 736 | - | |
| 737 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:41 | |
| 738 | -#: plugins/software_communities/views/search/_full_community.html.erb:35 | |
| 739 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:10 | |
| 740 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:15 | |
| 741 | -msgid "\"#{category.name}\"" | |
| 742 | -msgstr "\"#{category.name}\"" | |
| 743 | - | |
| 744 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:3 | |
| 745 | -msgid "Search Public Software Catalog" | |
| 746 | -msgstr "Pesquisar Catálogo de Software Público" | |
| 747 | - | |
| 748 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:15 | |
| 749 | -msgid "" | |
| 750 | -"Projects that have passed by the Avalia SPB process according to the " | |
| 751 | -"requirements of IN 01/2011." | |
| 752 | -msgstr "" | |
| 753 | -"Projetos que passaram pelo processo Avalia SPB de acordo com os Requisitos " | |
| 754 | -"da IN 01/2011." | |
| 755 | - | |
| 756 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:18 | |
| 757 | -msgid "All" | |
| 758 | -msgstr "Todos" | |
| 759 | - | |
| 760 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:19 | |
| 761 | -msgid "Projects included in the portal as cases provided by the IN 01/2011." | |
| 762 | -msgstr "Projetos incluidos no portal como os casos fornecidos pela IN 01/2011." | |
| 763 | - | |
| 764 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:24 | |
| 765 | -msgid "" | |
| 766 | -"Type words about the software you're looking for (the search begins after 3 " | |
| 767 | -"characters)" | |
| 768 | -msgstr "" | |
| 769 | -"Digite palavras sobre o software que você está procurando (a busca começa " | |
| 770 | -"depois de 3 caracteres" | |
| 771 | - | |
| 772 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:27 | |
| 773 | -msgid "Filter" | |
| 774 | -msgstr "Filtro" | |
| 775 | - | |
| 776 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:52 | |
| 777 | -#: plugins/software_communities/views/profile/_profile_members_list.html.erb:5 | |
| 778 | -msgid "Name A-Z" | |
| 779 | -msgstr "Nome A-Z" | |
| 780 | - | |
| 781 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:53 | |
| 782 | -#: plugins/software_communities/views/profile/_profile_members_list.html.erb:6 | |
| 783 | -msgid "Name Z-A" | |
| 784 | -msgstr "Nome Z-A" | |
| 785 | - | |
| 786 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:54 | |
| 787 | -msgid "Relevance" | |
| 788 | -msgstr "Relevância" | |
| 789 | - | |
| 790 | -#: plugins/software_communities/views/search/software_infos.html.erb:6 | |
| 791 | -msgid "Type words about the %s you're looking for" | |
| 792 | -msgstr "Digite palavras sobre o %s que você está procurando" | |
| 793 | - | |
| 794 | -#: plugins/software_communities/views/search/_full_community.html.erb:46 | |
| 795 | -msgid "This software doesn't have categories" | |
| 796 | -msgstr "Este software nào contém categorias" | |
| 797 | - | |
| 798 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:4 | |
| 799 | -#: plugins/software_communities/views/blocks/categories_and_tags.html.erb:2 | |
| 800 | -msgid "Categories" | |
| 801 | -msgstr "Categorias" | |
| 802 | - | |
| 803 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:16 | |
| 804 | -msgid "More options" | |
| 805 | -msgstr "Mais opções" | |
| 806 | - | |
| 807 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:18 | |
| 808 | -msgid "Clean up" | |
| 809 | -msgstr "Limpar" | |
| 810 | - | |
| 811 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:19 | |
| 812 | -msgid "Close" | |
| 813 | -msgstr "Fechar" | |
| 814 | - | |
| 815 | -#: plugins/software_communities/views/comments_extra_fields.html.erb:3 | |
| 816 | -msgid "Additional informations" | |
| 817 | -msgstr "Informações adicionais" | |
| 818 | - | |
| 819 | -#: plugins/software_communities/views/comments_extra_fields.html.erb:11 | |
| 820 | -msgid "Number of Beneficiaries" | |
| 821 | -msgstr "Número de beneficiados" | |
| 822 | - | |
| 823 | -#: plugins/software_communities/views/comments_extra_fields.html.erb:17 | |
| 824 | -msgid "Saved resources" | |
| 825 | -msgstr "Recursos economizados" | |
| 826 | - | |
| 827 | -#: plugins/software_communities/views/box_organizer/_wiki_block.html.erb:3 | |
| 828 | -msgid "Wiki link" | |
| 829 | -msgstr "Link da wiki" | |
| 830 | - | |
| 831 | -#: plugins/software_communities/views/box_organizer/_software_tab_data_block.html.erb:5 | |
| 832 | -msgid "Which blog should have its posts displayed: " | |
| 833 | -msgstr "Qual blog deve ter seus posts exibidos: " | |
| 834 | - | |
| 835 | -#: plugins/software_communities/views/box_organizer/_software_tab_data_block.html.erb:13 | |
| 836 | -msgid "This community has no blogs" | |
| 837 | -msgstr "Essa comunidade não possui blogs" | |
| 838 | - | |
| 839 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:5 | |
| 840 | -msgid "Benefited People" | |
| 841 | -msgstr "Pessoas Beneficiadas" | |
| 842 | - | |
| 843 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:6 | |
| 844 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:8 | |
| 845 | -msgid "Portal suggested value: " | |
| 846 | -msgstr "Valor sugerido pelo portal: " | |
| 847 | - | |
| 848 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:7 | |
| 849 | -msgid "Saved Resources" | |
| 850 | -msgstr "Recursos economizados" | |
| 851 | - | |
| 852 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:4 | |
| 853 | -msgid "Link" | |
| 854 | -msgstr "Link" | |
| 855 | - | |
| 856 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:5 | |
| 857 | -msgid "Platforms" | |
| 858 | -msgstr "Plataformas" | |
| 859 | - | |
| 860 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:6 | |
| 861 | -#: plugins/software_communities/views/blocks/download.html.erb:17 | |
| 862 | -msgid "Minimum Requirements" | |
| 863 | -msgstr "Requisitos Mínimos" | |
| 864 | - | |
| 865 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:7 | |
| 866 | -msgid "Size:" | |
| 867 | -msgstr "Tamanho:" | |
| 868 | - | |
| 869 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:16 | |
| 870 | -msgid "New link" | |
| 871 | -msgstr "Novo link" | |
| 872 | - | |
| 873 | -#: plugins/software_communities/views/box_organizer/_softwares_block.html.erb:2 | |
| 874 | -msgid "Limit of items" | |
| 875 | -msgstr "Limite de itens" | |
| 876 | - | |
| 877 | -#: plugins/software_communities/views/box_organizer/_softwares_block.html.erb:3 | |
| 878 | -msgid "Software Type:" | |
| 879 | -msgstr "Tipo de Software:" | |
| 880 | - | |
| 881 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:1 | |
| 882 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:3 | |
| 883 | -msgid "Software Information" | |
| 884 | -msgstr "Informação de Software" | |
| 885 | - | |
| 886 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:15 | |
| 887 | -msgid "Licenses" | |
| 888 | -msgstr "Licenças" | |
| 889 | - | |
| 890 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:20 | |
| 891 | -msgid "License link" | |
| 892 | -msgstr "Link para a licença" | |
| 893 | - | |
| 894 | -#: plugins/software_communities/views/profile/_profile_members_list.html.erb:2 | |
| 895 | -msgid "Sort by:" | |
| 896 | -msgstr "Ordenar por:" | |
| 897 | - | |
| 898 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:6 | |
| 899 | -msgid "Name:" | |
| 900 | -msgstr "Nome:" | |
| 901 | - | |
| 902 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:7 | |
| 903 | -msgid "Adherent to e_mag:" | |
| 904 | -msgstr "Aderente ao e_mag:" | |
| 905 | - | |
| 906 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:8 | |
| 907 | -msgid "Adherent to icp_brasil:" | |
| 908 | -msgstr "Aderente ao icp_brasil:" | |
| 909 | - | |
| 910 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:9 | |
| 911 | -msgid "Adherent to e_ping:" | |
| 912 | -msgstr "Aderente ao e_ping" | |
| 913 | - | |
| 914 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:10 | |
| 915 | -msgid "Adherent to e_arq:" | |
| 916 | -msgstr "Aderente ao e_arq" | |
| 917 | - | |
| 918 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:11 | |
| 919 | -msgid "Internacionalizable:" | |
| 920 | -msgstr "Internacionalizável:" | |
| 921 | - | |
| 922 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:12 | |
| 923 | -msgid "Operating Platform:" | |
| 924 | -msgstr "Plataforma Operacional:" | |
| 925 | - | |
| 926 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:13 | |
| 927 | -msgid "Demonstration URL:" | |
| 928 | -msgstr "URL de Demonstração:" | |
| 929 | - | |
| 930 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:14 | |
| 931 | -msgid "Short Name:" | |
| 932 | -msgstr "Nome Curto:" | |
| 933 | - | |
| 934 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:15 | |
| 935 | -msgid "Objectives:" | |
| 936 | -msgstr "Objetivos:" | |
| 937 | - | |
| 938 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:16 | |
| 939 | -msgid "Features:" | |
| 940 | -msgstr "Funcionalidades:" | |
| 941 | - | |
| 942 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:19 | |
| 943 | -msgid "Version:" | |
| 944 | -msgstr "Versão:" | |
| 945 | - | |
| 946 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:20 | |
| 947 | -msgid "Link:" | |
| 948 | -msgstr "Link:" | |
| 949 | - | |
| 950 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:25 | |
| 951 | -msgid "Show Libraries" | |
| 952 | -msgstr "Mostrar Bibliotecas" | |
| 953 | - | |
| 954 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:26 | |
| 955 | -msgid "Hide Libraries" | |
| 956 | -msgstr "Ocultar Bibliotecas" | |
| 957 | - | |
| 958 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:53 | |
| 959 | -msgid "Show Database" | |
| 960 | -msgstr "Mostrar Banco de Dados" | |
| 961 | - | |
| 962 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:54 | |
| 963 | -msgid "Hide Database" | |
| 964 | -msgstr "Ocultar Banco de Dados" | |
| 965 | - | |
| 966 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:63 | |
| 967 | -msgid "Software Databases" | |
| 968 | -msgstr "Bancos de Dados do Software" | |
| 969 | - | |
| 970 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:81 | |
| 971 | -msgid "Show Languages" | |
| 972 | -msgstr "Mostrar Linguagens" | |
| 973 | - | |
| 974 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:82 | |
| 975 | -msgid "Hide Languages" | |
| 976 | -msgstr "Ocultar Linguagens" | |
| 977 | - | |
| 978 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:91 | |
| 979 | -msgid "Software Languages" | |
| 980 | -msgstr "Linguagens do Software" | |
| 981 | - | |
| 982 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:109 | |
| 983 | -msgid "Show Operating Systems" | |
| 984 | -msgstr "Mostrar Sistema Operacional" | |
| 985 | - | |
| 986 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:110 | |
| 987 | -msgid "Hide Operating Systems" | |
| 988 | -msgstr "Ocultar Sistema Operacional" | |
| 989 | - | |
| 990 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:120 | |
| 991 | -msgid "Operating System" | |
| 992 | -msgstr "Sistema Operacional" | |
| 993 | - | |
| 994 | -#: plugins/software_communities/views/profile/members.html.erb:3 | |
| 995 | -#: plugins/software_communities/views/profile/members.html.erb:26 | |
| 996 | -msgid "Members" | |
| 997 | -msgstr "Membros" | |
| 998 | - | |
| 999 | -#: plugins/software_communities/views/profile/members.html.erb:4 | |
| 1000 | -msgid "%s" | |
| 1001 | -msgstr "" | |
| 1002 | - | |
| 1003 | -#: plugins/software_communities/views/profile/members.html.erb:43 | |
| 1004 | -msgid "Administrators" | |
| 1005 | -msgstr "Administradores" | |
| 1006 | - | |
| 1007 | -#: plugins/software_communities/views/profile/members.html.erb:57 | |
| 1008 | -msgid "Go back" | |
| 1009 | -msgstr "Voltar" | |
| 1010 | - | |
| 1011 | -#: plugins/software_communities/views/profile/members.html.erb:60 | |
| 1012 | -msgid "Invite people to join" | |
| 1013 | -msgstr "Convide pessoas para entrar" | |
| 1014 | - | |
| 1015 | -#: plugins/software_communities/views/profile/members.html.erb:63 | |
| 1016 | -msgid "Send e-mail to members" | |
| 1017 | -msgstr "Envie e-mail para os membros" | |
| 1018 | - | |
| 1019 | -#: plugins/software_communities/views/profile/index.html.erb:17 | |
| 1020 | -msgid "Control Panel" | |
| 1021 | -msgstr "Painel de Controle" | |
| 1022 | - | |
| 1023 | -#: plugins/software_communities/views/blocks/main_area_softwares.html.erb:23 | |
| 1024 | -msgid "See More" | |
| 1025 | -msgstr "Veja Mais" | |
| 1026 | - | |
| 1027 | -#: plugins/software_communities/views/blocks/_software_tab_blog.html.erb:5 | |
| 1028 | -msgid "This community has no posts in its blog" | |
| 1029 | -msgstr "Essa comunidade não possui posts nesse blog" | |
| 1030 | - | |
| 1031 | -#: plugins/software_communities/views/blocks/_software_tab_blog.html.erb:13 | |
| 1032 | -msgid "Read more" | |
| 1033 | -msgstr "Leia mais" | |
| 1034 | - | |
| 1035 | -#: plugins/software_communities/views/blocks/repository.html.erb:2 | |
| 1036 | -#: plugins/software_communities/views/blocks/download.html.erb:2 | |
| 1037 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:2 | |
| 1038 | -#: plugins/software_communities/views/blocks/wiki.html.erb:2 | |
| 1039 | -#: plugins/software_communities/views/blocks/software_information.html.erb:4 | |
| 1040 | -msgid "This community needs a software to use this block" | |
| 1041 | -msgstr "Essa comunidade precisa de um software para usar este block" | |
| 1042 | - | |
| 1043 | -#: plugins/software_communities/views/blocks/repository.html.erb:4 | |
| 1044 | -msgid "Repository" | |
| 1045 | -msgstr "Repositório" | |
| 1046 | - | |
| 1047 | -#: plugins/software_communities/views/blocks/download.html.erb:4 | |
| 1048 | -msgid "\"Download #{block.owner.software_info.community.name}\"" | |
| 1049 | -msgstr "\"Baixar #{block.owner.software_info.community.name}\"" | |
| 1050 | - | |
| 1051 | -#: plugins/software_communities/views/blocks/download.html.erb:9 | |
| 1052 | -msgid "Download the software" | |
| 1053 | -msgstr "Baixar o software" | |
| 1054 | - | |
| 1055 | -#: plugins/software_communities/views/blocks/download.html.erb:15 | |
| 1056 | -msgid "\"#{download[:name]}\"" | |
| 1057 | -msgstr "\"#{download[:name]}\"" | |
| 1058 | - | |
| 1059 | -#: plugins/software_communities/views/blocks/download.html.erb:16 | |
| 1060 | -msgid "\"Platform:#{download[:software_description]}\"" | |
| 1061 | -msgstr "\"Platform:#{download[:software_description]}\"" | |
| 1062 | - | |
| 1063 | -#: plugins/software_communities/views/blocks/download.html.erb:23 | |
| 1064 | -msgid "\"License: #{block.owner.software_info.license_info.version}\"" | |
| 1065 | -msgstr "\"License: #{block.owner.software_info.license_info.version}\"" | |
| 1066 | - | |
| 1067 | -#: plugins/software_communities/views/blocks/categories_and_tags.html.erb:12 | |
| 1068 | -msgid "Tags" | |
| 1069 | -msgstr "Tags" | |
| 1070 | - | |
| 1071 | -#: plugins/software_communities/views/blocks/software_statistics.html.erb:5 | |
| 1072 | -msgid " benefited people*" | |
| 1073 | -msgstr " pessoas beneficiadas*" | |
| 1074 | - | |
| 1075 | -#: plugins/software_communities/views/blocks/software_statistics.html.erb:6 | |
| 1076 | -msgid " saved resources*" | |
| 1077 | -msgstr " recursos economizados*" | |
| 1078 | - | |
| 1079 | -#: plugins/software_communities/views/blocks/software_statistics.html.erb:10 | |
| 1080 | -msgid "Data estimated by the software administrator." | |
| 1081 | -msgstr "Dados estimados pelo administrador do software" | |
| 1082 | - | |
| 1083 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:4 | |
| 1084 | -msgid "See more Software" | |
| 1085 | -msgstr "Veja mais softwares" | |
| 1086 | - | |
| 1087 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:8 | |
| 1088 | -msgid "Categories:" | |
| 1089 | -msgstr "Categorias:" | |
| 1090 | - | |
| 1091 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:23 | |
| 1092 | -#: plugins/software_communities/views/blocks/search_catalog.html.erb:9 | |
| 1093 | -msgid "Access the complete catalog" | |
| 1094 | -msgstr "Acessar o catálogo completo" | |
| 1095 | - | |
| 1096 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:6 | |
| 1097 | -msgid "Discussions" | |
| 1098 | -msgstr "Discussões" | |
| 1099 | - | |
| 1100 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:7 | |
| 1101 | -msgid "Blog" | |
| 1102 | -msgstr "" | |
| 1103 | - | |
| 1104 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:8 | |
| 1105 | -msgid "Repository Feed" | |
| 1106 | -msgstr "Feed do Repositório" | |
| 1107 | - | |
| 1108 | -#: plugins/software_communities/views/blocks/wiki.html.erb:4 | |
| 1109 | -msgid "Wiki" | |
| 1110 | -msgstr "" | |
| 1111 | - | |
| 1112 | -#: plugins/software_communities/views/blocks/software_highlights.html.erb:13 | |
| 1113 | -msgid "See all" | |
| 1114 | -msgstr "ver todos (%d)" | |
| 1115 | - | |
| 1116 | -#: plugins/software_communities/views/blocks/software_information.html.erb:16 | |
| 1117 | -msgid "Control panel" | |
| 1118 | -msgstr "Painel de Controle" | |
| 1119 | - | |
| 1120 | -#: plugins/software_communities/views/blocks/software_information.html.erb:24 | |
| 1121 | -msgid "\"#{block.owner.software_info.acronym} - \"" | |
| 1122 | -msgstr "\"#{block.owner.software_info.acronym} - \"" | |
| 1123 | - | |
| 1124 | -#: plugins/software_communities/views/blocks/software_information.html.erb:25 | |
| 1125 | -msgid "\"#{block.owner.name}\"" | |
| 1126 | -msgstr "\"#{block.owner.name}\"" | |
| 1127 | - | |
| 1128 | -#: plugins/software_communities/views/blocks/search_catalog.html.erb:2 | |
| 1129 | -msgid "Catalog of Public Software" | |
| 1130 | -msgstr "Catálogo de Software Público" | |
| 1131 | - | |
| 1132 | -#: plugins/software_communities/views/blocks/search_catalog.html.erb:5 | |
| 1133 | -msgid "Search" | |
| 1134 | -msgstr "Procurar" | |
| 1135 | - | |
| 1136 | -#~ msgid "Software Projects:" | |
| 1137 | -#~ msgstr "Projetos de Software:" | |
| 1138 | - | |
| 1139 | -#~ msgid "Include in results" | |
| 1140 | -#~ msgstr "Incluir em resultados" | |
| 1141 | - | |
| 1142 | -#~ msgid "" | |
| 1143 | -#~ "Include software development projects that are not yet officially " | |
| 1144 | -#~ "Brazilian Public Software." | |
| 1145 | -#~ msgstr "" | |
| 1146 | -#~ "Incluir projetos de desenvolvimento de software que não são ainda " | |
| 1147 | -#~ "oficialmente Software Público Brasileiro" | |
| 1148 | - | |
| 1149 | -#~ msgid "Email must be different from secondary email." | |
| 1150 | -#~ msgstr "Email deve ser diferente do email secundário." | |
| 1151 | - | |
| 1152 | -#~ msgid "E-mail or secondary e-mail already taken." | |
| 1153 | -#~ msgstr "Email ou email secundário já foram escolhidos por outro usuário." | |
| 1154 | - | |
| 1155 | -#~ msgid "Invalid secondary email format." | |
| 1156 | -#~ msgstr "Formato do email secundário inválido." | |
| 1157 | - | |
| 1158 | -#~ msgid "The governamental email must be the primary one." | |
| 1159 | -#~ msgstr "O email governamental deve ser o email primário." | |
| 1160 | - | |
| 1161 | -#~ msgid "Institution is obligatory if user has a government email." | |
| 1162 | -#~ msgstr "Instituição é obrigatório se usuário tem um email governamental." | |
| 1163 | - | |
| 1164 | -#~ msgid "Institution Catalog" | |
| 1165 | -#~ msgstr "Catálogo de Instituição" | |
| 1166 | - | |
| 1167 | -#~ msgid "Create Institution" | |
| 1168 | -#~ msgstr "Criar Instituição" | |
| 1169 | - | |
| 1170 | -#~ msgid "Institution Info" | |
| 1171 | -#~ msgstr "Informação de Instituição" | |
| 1172 | - | |
| 1173 | -#~ msgid "Institution" | |
| 1174 | -#~ msgstr "Instituição" | |
| 1175 | - | |
| 1176 | -#~ msgid "Institutions" | |
| 1177 | -#~ msgstr "Instituições" | |
| 1178 | - | |
| 1179 | -#~ msgid "{#} institution" | |
| 1180 | -#~ msgid_plural "{#} institutions" | |
| 1181 | -#~ msgstr[0] "{#} instituição" | |
| 1182 | -#~ msgstr[1] "{#} instituições" | |
| 1183 | - | |
| 1184 | -#~ msgid "This block displays the institutions in which the user is a member." | |
| 1185 | -#~ msgstr "Este bloco apresenta as instituições em que o usuário é membro." | |
| 1186 | - | |
| 1187 | -#~ msgid "institutions|View all" | |
| 1188 | -#~ msgstr "instituições|Veja todos" | |
| 1189 | - | |
| 1190 | -#~ msgid "invalid, only public and private institutions are allowed." | |
| 1191 | -#~ msgstr "inválido, apenas instituições públicas e privadas são permitidas." | |
| 1192 | - | |
| 1193 | -#~ msgid "invalid format" | |
| 1194 | -#~ msgstr "formato inválido" | |
| 1195 | - | |
| 1196 | -#~ msgid "Could not find Governmental Power or Governmental Sphere" | |
| 1197 | -#~ msgstr "Não foi possível encontrar o poder ou esfera governamental" | |
| 1198 | - | |
| 1199 | -#~ msgid "Institution successful created!" | |
| 1200 | -#~ msgstr "Instituição criada com sucesso!" | |
| 1201 | - | |
| 1202 | -#~ msgid "Institution could not be created!" | |
| 1203 | -#~ msgstr "Instituição não pode ser criada!" | |
| 1204 | - | |
| 1205 | -#~ msgid "Name Should begin with a capital letter and no special characters" | |
| 1206 | -#~ msgstr "" | |
| 1207 | -#~ "Nome deve começar com letra maiúscula e não pode ter caracteres especiais" | |
| 1208 | - | |
| 1209 | -#~ msgid "Secondary e-mail" | |
| 1210 | -#~ msgstr "Email secundário" | |
| 1211 | - | |
| 1212 | -#~ msgid "No institution found" | |
| 1213 | -#~ msgstr "Nenhuma instituição encontrada" | |
| 1214 | - | |
| 1215 | -#~ msgid "Add new institution" | |
| 1216 | -#~ msgstr "Adicionar nova instituiço" | |
| 1217 | - | |
| 1218 | -#~ msgid "Create new institution" | |
| 1219 | -#~ msgstr "Criar nova instituição" | |
| 1220 | - | |
| 1221 | -#~ msgid "Should begin with a capital letter and no special characters" | |
| 1222 | -#~ msgstr "Deve começar com letra maíuscula e sem caracteres especiais" | |
| 1223 | - | |
| 1224 | -#~ msgid "Email should have the following format: name@host.br" | |
| 1225 | -#~ msgstr "Email deve ter o seguinte formato: name@host.br" | |
| 1226 | - | |
| 1227 | -#~ msgid "Site should have a valid format: http://name.hosts" | |
| 1228 | -#~ msgstr "Site deve ter um formato válido: http://name.hosts" | |
| 1229 | - | |
| 1230 | -#~ msgid "If you work in a public agency use your government e-Mail" | |
| 1231 | -#~ msgstr "Se você trabalha em um órgão público use seu e-Mail governamental" | |
| 1232 | - | |
| 1233 | -#~ msgid "New Institution" | |
| 1234 | -#~ msgstr "Nova Instituição" | |
| 1235 | - | |
| 1236 | -#~ msgid "\"Can`t create new Institution: #{flash[:errors].length} errors\"" | |
| 1237 | -#~ msgstr "" | |
| 1238 | -#~ "\"Não foi possível criar a Instituição: #{flash[:errors].length} errors\"" | |
| 1239 | - | |
| 1240 | -#~ msgid "All fields with (*) are mandatory" | |
| 1241 | -#~ msgstr "Todos os campos com (*) são obrigatórios" | |
| 1242 | - | |
| 1243 | -#~ msgid "Public Institution" | |
| 1244 | -#~ msgstr "Insituição Pública" | |
| 1245 | - | |
| 1246 | -#~ msgid "Private Institution" | |
| 1247 | -#~ msgstr "Instituição Privada" | |
| 1248 | - | |
| 1249 | -#~ msgid "Institution name already exists" | |
| 1250 | -#~ msgstr "Instituição com o nome informado já existe" | |
| 1251 | - | |
| 1252 | -#~ msgid "Country" | |
| 1253 | -#~ msgstr "País" | |
| 1254 | - | |
| 1255 | -#~ msgid "State" | |
| 1256 | -#~ msgstr "Estado" | |
| 1257 | - | |
| 1258 | -#~ msgid "CNPJ" | |
| 1259 | -#~ msgstr "CNPJ" | |
| 1260 | - | |
| 1261 | -#~ msgid "Acronym" | |
| 1262 | -#~ msgstr "Sigla" | |
| 1263 | - | |
| 1264 | -#~ msgid "Fantasy name" | |
| 1265 | -#~ msgstr "Nome fantasia" | |
| 1266 | - | |
| 1267 | -#~ msgid "Governmental Sphere:" | |
| 1268 | -#~ msgstr "Esfera Governamental:" | |
| 1269 | - | |
| 1270 | -#~ msgid "Select a Governmental Sphere" | |
| 1271 | -#~ msgstr "Selecione a Esfera Governamental" | |
| 1272 | - | |
| 1273 | -#~ msgid "Governmental Power:" | |
| 1274 | -#~ msgstr "Poder Governamental:" | |
| 1275 | - | |
| 1276 | -#~ msgid "Select a Governmental Power" | |
| 1277 | -#~ msgstr "Selecione um Poder Governamental" | |
| 1278 | - | |
| 1279 | -#~ msgid "Juridical Nature:" | |
| 1280 | -#~ msgstr "Natureza Jurídica" | |
| 1281 | - | |
| 1282 | -#~ msgid "Select a Juridical Nature" | |
| 1283 | -#~ msgstr "Selecione uma Natureza Jurídica" | |
| 1284 | - | |
| 1285 | -#~ msgid "SISP?" | |
| 1286 | -#~ msgstr "SISP?" | |
| 1287 | - | |
| 1288 | -#~ msgid "Could not send the form data to the server" | |
| 1289 | -#~ msgstr "Não foi possível enviar os dados do formulário ao servidor" | |
| 1290 | - | |
| 1291 | -#~ msgid "Creating institution" | |
| 1292 | -#~ msgstr "Criando instituição" | |
| 1293 | - | |
| 1294 | -#~ msgid "Institution Information" | |
| 1295 | -#~ msgstr "Informações de Instituição" | |
| 1296 | - | |
| 1297 | -#~ msgid "Type:" | |
| 1298 | -#~ msgstr "Tipo:" | |
| 1299 | - | |
| 1300 | -#~ msgid "CNPJ:" | |
| 1301 | -#~ msgstr "CNPJ:" | |
| 1302 | - | |
| 1303 | -#~ msgid "Last modification:" | |
| 1304 | -#~ msgstr "Última modificação:" | |
| 1305 | - | |
| 1306 | -#~ msgid "Country:" | |
| 1307 | -#~ msgstr "País" | |
| 1308 | - | |
| 1309 | -#~ msgid "State:" | |
| 1310 | -#~ msgstr "Estado" | |
| 1311 | - | |
| 1312 | -#~ msgid "City:" | |
| 1313 | -#~ msgstr "Cidade" | |
| 1314 | - | |
| 1315 | -#~ msgid "Fantasy Name:" | |
| 1316 | -#~ msgstr "Nome Fantasia:" | |
| 1317 | - | |
| 1318 | -#~ msgid "Acronym:" | |
| 1319 | -#~ msgstr "Sigla:" | |
| 1320 | - | |
| 1321 | -#~ msgid "SISP:" | |
| 1322 | -#~ msgstr "SISP:" | |
| 1323 | - | |
| 1324 | -#~ msgid "Edit Institution" | |
| 1325 | -#~ msgstr "Editar Instituíção" | |
| 1326 | - | |
| 1327 | -#~ msgid "Link to Repository" | |
| 1328 | -#~ msgstr "Link para o Repositório" | |
| 1329 | - | |
| 1330 | -#~ msgid "Select the categories of your interest" | |
| 1331 | -#~ msgstr "Selecione as categorias de seu interesse" | |
| 1332 | - | |
| 1333 | -#~ msgid "Delete profile" | |
| 1334 | -#~ msgstr "Deletar perfil" | |
| 1335 | - | |
| 1336 | -#~ msgid "Deactivate profile" | |
| 1337 | -#~ msgstr "Desativar perfil" | |
| 1338 | - | |
| 1339 | -#~ msgid "Activate profile" | |
| 1340 | -#~ msgstr "Ativar perfil" | |
| 1341 | - | |
| 1342 | -#~ msgid "Complete Profile" | |
| 1343 | -#~ msgstr "Completar Perfil" | |
| 1344 | - | |
| 1345 | -#~ msgid "Complete your profile" | |
| 1346 | -#~ msgstr "Complete seu perfil" | |
| 1347 | - | |
| 1348 | -#~ msgid "Hide" | |
| 1349 | -#~ msgstr "Esconder" | |
| 1350 | - | |
| 1351 | -#~ msgid "Most downloaded" | |
| 1352 | -#~ msgstr "Mais baixado" | |
| 1353 | - | |
| 1354 | -#~ msgid "Top rated" | |
| 1355 | -#~ msgstr "Mais Populares" | |
| 1356 | - | |
| 1357 | -#~ msgid "Recently updated" | |
| 1358 | -#~ msgstr "Atualizado Recentemente" | |
| 1359 | - | |
| 1360 | -#~ msgid "New in portal" | |
| 1361 | -#~ msgstr "Novo no portal" |
po/software_communities.pot
| ... | ... | @@ -1,1044 +0,0 @@ |
| 1 | -# SOME DESCRIPTIVE TITLE. | |
| 2 | -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
| 3 | -# This file is distributed under the same license as the PACKAGE package. | |
| 4 | -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
| 5 | -# | |
| 6 | -#, fuzzy | |
| 7 | -msgid "" | |
| 8 | -msgstr "" | |
| 9 | -"Project-Id-Version: 1.2-143-g8dfded9\n" | |
| 10 | -"POT-Creation-Date: 2015-09-11 17:15-0000\n" | |
| 11 | -"PO-Revision-Date: 2015-09-11 17:15-0000\n" | |
| 12 | -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
| 13 | -"Language-Team: LANGUAGE <LL@li.org>\n" | |
| 14 | -"MIME-Version: 1.0\n" | |
| 15 | -"Content-Type: text/plain; charset=UTF-8\n" | |
| 16 | -"Content-Transfer-Encoding: 8bit\n" | |
| 17 | -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" | |
| 18 | - | |
| 19 | -#: plugins/software_communities/test/unit/software_info_validation_test.rb:108 | |
| 20 | -msgid "Features is too long (maximum is 4000 characters)" | |
| 21 | -msgstr "" | |
| 22 | - | |
| 23 | -#: plugins/software_communities/test/unit/software_info_validation_test.rb:116 | |
| 24 | -msgid "Objectives is too long (maximum is 4000 characters)" | |
| 25 | -msgstr "" | |
| 26 | - | |
| 27 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:41 | |
| 28 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:19 | |
| 29 | -msgid "Save and Configure Community" | |
| 30 | -msgstr "" | |
| 31 | - | |
| 32 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:45 | |
| 33 | -msgid "Software updated successfully" | |
| 34 | -msgstr "" | |
| 35 | - | |
| 36 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:49 | |
| 37 | -msgid "Could not update software" | |
| 38 | -msgstr "" | |
| 39 | - | |
| 40 | -#: plugins/software_communities/controllers/software_communities_plugin_myprofile_controller.rb:130 | |
| 41 | -msgid "Your new software request will be evaluated by anadministrator. You will be notified." | |
| 42 | -msgstr "" | |
| 43 | - | |
| 44 | -#: plugins/software_communities/controllers/software_communities_plugin_profile_controller.rb:7 | |
| 45 | -msgid "Could not find the download file" | |
| 46 | -msgstr "" | |
| 47 | - | |
| 48 | -#: plugins/software_communities/controllers/software_communities_plugin_profile_controller.rb:8 | |
| 49 | -msgid "Invalid download params" | |
| 50 | -msgstr "" | |
| 51 | - | |
| 52 | -#: plugins/software_communities/lib/operating_system.rb:12 | |
| 53 | -msgid "too long (maximum is 20 characters)" | |
| 54 | -msgstr "" | |
| 55 | - | |
| 56 | -#: plugins/software_communities/lib/statistic_block.rb:9 | |
| 57 | -msgid "Software Statistics" | |
| 58 | -msgstr "" | |
| 59 | - | |
| 60 | -#: plugins/software_communities/lib/statistic_block.rb:13 | |
| 61 | -msgid "This block displays software statistics." | |
| 62 | -msgstr "" | |
| 63 | - | |
| 64 | -#: plugins/software_communities/lib/categories_and_tags_block.rb:8 | |
| 65 | -msgid "Categories and Tags" | |
| 66 | -msgstr "" | |
| 67 | - | |
| 68 | -#: plugins/software_communities/lib/categories_and_tags_block.rb:12 | |
| 69 | -msgid "This block displays the categories and tags of a software." | |
| 70 | -msgstr "" | |
| 71 | - | |
| 72 | -#: plugins/software_communities/lib/wiki_block.rb:8 | |
| 73 | -msgid "Wiki Link" | |
| 74 | -msgstr "" | |
| 75 | - | |
| 76 | -#: plugins/software_communities/lib/wiki_block.rb:12 | |
| 77 | -msgid "This block displays a link to the software wiki." | |
| 78 | -msgstr "" | |
| 79 | - | |
| 80 | -#: plugins/software_communities/lib/library.rb:5 | |
| 81 | -msgid "can't be blank" | |
| 82 | -msgstr "" | |
| 83 | - | |
| 84 | -#: plugins/software_communities/lib/library.rb:8 | |
| 85 | -msgid "Too long (maximum is 20 characters)" | |
| 86 | -msgstr "" | |
| 87 | - | |
| 88 | -#: plugins/software_communities/lib/search_catalog_block.rb:8 | |
| 89 | -msgid "Search Softwares catalog" | |
| 90 | -msgstr "" | |
| 91 | - | |
| 92 | -#: plugins/software_communities/lib/search_catalog_block.rb:12 | |
| 93 | -msgid "This block displays the search categories field " | |
| 94 | -msgstr "" | |
| 95 | - | |
| 96 | -#: plugins/software_communities/lib/software_database.rb:12 | |
| 97 | -msgid "Software database is too long (maximum is 20 characters)" | |
| 98 | -msgstr "" | |
| 99 | - | |
| 100 | -#: plugins/software_communities/lib/ext/category.rb:5 | |
| 101 | -msgid "Agriculture, Fisheries and Extraction" | |
| 102 | -msgstr "" | |
| 103 | - | |
| 104 | -#: plugins/software_communities/lib/ext/category.rb:6 | |
| 105 | -msgid "Science, Information and Communication" | |
| 106 | -msgstr "" | |
| 107 | - | |
| 108 | -#: plugins/software_communities/lib/ext/category.rb:7 | |
| 109 | -msgid "Economy and Finances" | |
| 110 | -msgstr "" | |
| 111 | - | |
| 112 | -#: plugins/software_communities/lib/ext/category.rb:8 | |
| 113 | -msgid "Public Administration" | |
| 114 | -msgstr "" | |
| 115 | - | |
| 116 | -#: plugins/software_communities/lib/ext/category.rb:9 | |
| 117 | -msgid "Habitation, Sanitation and Urbanism" | |
| 118 | -msgstr "" | |
| 119 | - | |
| 120 | -#: plugins/software_communities/lib/ext/category.rb:10 | |
| 121 | -msgid "Individual, Family and Society" | |
| 122 | -msgstr "" | |
| 123 | - | |
| 124 | -#: plugins/software_communities/lib/ext/category.rb:11 | |
| 125 | -msgid "Health" | |
| 126 | -msgstr "" | |
| 127 | - | |
| 128 | -#: plugins/software_communities/lib/ext/category.rb:12 | |
| 129 | -msgid "Social Welfare and Development" | |
| 130 | -msgstr "" | |
| 131 | - | |
| 132 | -#: plugins/software_communities/lib/ext/category.rb:13 | |
| 133 | -msgid "Defense and Security" | |
| 134 | -msgstr "" | |
| 135 | - | |
| 136 | -#: plugins/software_communities/lib/ext/category.rb:14 | |
| 137 | -msgid "Education" | |
| 138 | -msgstr "" | |
| 139 | - | |
| 140 | -#: plugins/software_communities/lib/ext/category.rb:15 | |
| 141 | -msgid "Government and Politics" | |
| 142 | -msgstr "" | |
| 143 | - | |
| 144 | -#: plugins/software_communities/lib/ext/category.rb:16 | |
| 145 | -msgid "Justice and Legislation" | |
| 146 | -msgstr "" | |
| 147 | - | |
| 148 | -#: plugins/software_communities/lib/ext/category.rb:17 | |
| 149 | -msgid "International Relationships" | |
| 150 | -msgstr "" | |
| 151 | - | |
| 152 | -#: plugins/software_communities/lib/ext/category.rb:18 | |
| 153 | -msgid "Transportation and Transit" | |
| 154 | -msgstr "" | |
| 155 | - | |
| 156 | -#: plugins/software_communities/lib/ext/search_controller.rb:118 | |
| 157 | -msgid "Result Search" | |
| 158 | -msgstr "" | |
| 159 | - | |
| 160 | -#: plugins/software_communities/lib/ext/search_controller.rb:142 | |
| 161 | -msgid "Selected options: " | |
| 162 | -msgstr "" | |
| 163 | - | |
| 164 | -#: plugins/software_communities/lib/download_block.rb:15 | |
| 165 | -msgid "Download Stable Version" | |
| 166 | -msgstr "" | |
| 167 | - | |
| 168 | -#: plugins/software_communities/lib/download_block.rb:19 | |
| 169 | -msgid "This block displays the stable version of a software." | |
| 170 | -msgstr "" | |
| 171 | - | |
| 172 | -#: plugins/software_communities/lib/software_tab_data_block.rb:10 | |
| 173 | -msgid "Software Tab Data" | |
| 174 | -msgstr "" | |
| 175 | - | |
| 176 | -#: plugins/software_communities/lib/software_tab_data_block.rb:14 | |
| 177 | -msgid "This block is used by colab to insert data into Noosfero" | |
| 178 | -msgstr "" | |
| 179 | - | |
| 180 | -#: plugins/software_communities/lib/software_highlights_block.rb:4 | |
| 181 | -msgid "Software Highlights Block" | |
| 182 | -msgstr "" | |
| 183 | - | |
| 184 | -#: plugins/software_communities/lib/software_highlights_block.rb:8 | |
| 185 | -msgid "This block displays the softwares icon into a highlight" | |
| 186 | -msgstr "" | |
| 187 | - | |
| 188 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:17 | |
| 189 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:3 | |
| 190 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:3 | |
| 191 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:37 | |
| 192 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:3 | |
| 193 | -msgid "Name" | |
| 194 | -msgstr "" | |
| 195 | - | |
| 196 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:18 | |
| 197 | -msgid "Version" | |
| 198 | -msgstr "" | |
| 199 | - | |
| 200 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:19 | |
| 201 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:18 | |
| 202 | -msgid "License" | |
| 203 | -msgstr "" | |
| 204 | - | |
| 205 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:91 | |
| 206 | -msgid "Autocomplete field, type something" | |
| 207 | -msgstr "" | |
| 208 | - | |
| 209 | -#: plugins/software_communities/lib/dynamic_table_helper.rb:116 | |
| 210 | -#: plugins/software_communities/views/box_organizer/_download_list_template.html.erb:8 | |
| 211 | -#: plugins/software_communities/views/box_organizer/_download_list.html.erb:8 | |
| 212 | -msgid "Delete" | |
| 213 | -msgstr "" | |
| 214 | - | |
| 215 | -#: plugins/software_communities/lib/create_software.rb:36 | |
| 216 | -msgid "New software" | |
| 217 | -msgstr "" | |
| 218 | - | |
| 219 | -#: plugins/software_communities/lib/create_software.rb:44 | |
| 220 | -msgid "%{requestor} wants to create software %{subject} with" | |
| 221 | -msgstr "" | |
| 222 | - | |
| 223 | -#: plugins/software_communities/lib/create_software.rb:46 | |
| 224 | -msgid " no finality." | |
| 225 | -msgstr "" | |
| 226 | - | |
| 227 | -#: plugins/software_communities/lib/create_software.rb:48 | |
| 228 | -msgid " this finality:<p><em>%{finality}</em></p>" | |
| 229 | -msgstr "" | |
| 230 | - | |
| 231 | -#: plugins/software_communities/lib/create_software.rb:68 | |
| 232 | -msgid "%{requestor} wants to create software %{subject}" | |
| 233 | -msgstr "" | |
| 234 | - | |
| 235 | -#: plugins/software_communities/lib/create_software.rb:73 | |
| 236 | -msgid "User \"%{user}\" just requested to create software %{software}.\n You have to approve or reject it through the \"Pending Validations\"\n section in your control panel.\n" | |
| 237 | -msgstr "" | |
| 238 | - | |
| 239 | -#: plugins/software_communities/lib/create_software.rb:80 | |
| 240 | -msgid "Your request for registering software %{software} at %{environment} was\n just sent. Environment administrator will receive it and will approve or\n reject your request according to his methods and criteria.\n\n You will be notified as soon as environment administrator has a position\n about your request." | |
| 241 | -msgstr "" | |
| 242 | - | |
| 243 | -#: plugins/software_communities/lib/create_software.rb:90 | |
| 244 | -msgid "Your request for registering software %{software} at %{environment} was\n not approved by the environment administrator. The following explanation\n was given: \n\n%{explanation}" | |
| 245 | -msgstr "" | |
| 246 | - | |
| 247 | -#: plugins/software_communities/lib/create_software.rb:99 | |
| 248 | -msgid "Your request for registering the software \"%{software}\" was approved.\n You can access %{url} and finish the registration of your software." | |
| 249 | -msgstr "" | |
| 250 | - | |
| 251 | -#: plugins/software_communities/lib/software_communities_plugin.rb:17 | |
| 252 | -msgid "Add Public Software and MPOG features." | |
| 253 | -msgstr "" | |
| 254 | - | |
| 255 | -#: plugins/software_communities/lib/software_communities_plugin.rb:90 | |
| 256 | -msgid "Rate this software" | |
| 257 | -msgstr "" | |
| 258 | - | |
| 259 | -#: plugins/software_communities/lib/software_communities_plugin.rb:136 | |
| 260 | -msgid "Software Info" | |
| 261 | -msgstr "" | |
| 262 | - | |
| 263 | -#: plugins/software_communities/lib/software_communities_plugin.rb:147 | |
| 264 | -msgid "Create a new software" | |
| 265 | -msgstr "" | |
| 266 | - | |
| 267 | -#: plugins/software_communities/lib/software_communities_plugin.rb:157 | |
| 268 | -msgid "Software" | |
| 269 | -msgstr "" | |
| 270 | - | |
| 271 | -#: plugins/software_communities/lib/repository_block.rb:8 | |
| 272 | -msgid "Repository Link" | |
| 273 | -msgstr "" | |
| 274 | - | |
| 275 | -#: plugins/software_communities/lib/repository_block.rb:12 | |
| 276 | -msgid "This block displays the repository link of a software." | |
| 277 | -msgstr "" | |
| 278 | - | |
| 279 | -#: plugins/software_communities/lib/software_info.rb:151 | |
| 280 | -msgid "Name is too long (maximum is %{count} characters)" | |
| 281 | -msgstr "" | |
| 282 | - | |
| 283 | -#: plugins/software_communities/lib/software_info.rb:219 | |
| 284 | -msgid "can't have more than 10 characteres" | |
| 285 | -msgstr "" | |
| 286 | - | |
| 287 | -#: plugins/software_communities/lib/software_info.rb:222 | |
| 288 | -msgid "can't have whitespaces" | |
| 289 | -msgstr "" | |
| 290 | - | |
| 291 | -#: plugins/software_communities/lib/software_info.rb:230 plugins/software_communities/lib/software_info.rb:236 | |
| 292 | -#: plugins/software_communities/lib/software_info.rb:242 | |
| 293 | -msgid ": at least one must be filled" | |
| 294 | -msgstr "" | |
| 295 | - | |
| 296 | -#: plugins/software_communities/lib/software_information_block.rb:8 | |
| 297 | -msgid "Basic Software Information" | |
| 298 | -msgstr "" | |
| 299 | - | |
| 300 | -#: plugins/software_communities/lib/software_information_block.rb:12 | |
| 301 | -msgid "This block displays the basic information of a software profile." | |
| 302 | -msgstr "" | |
| 303 | - | |
| 304 | -#: plugins/software_communities/lib/software_language.rb:10 | |
| 305 | -msgid "Software language is too long (maximum is 20 characters)" | |
| 306 | -msgstr "" | |
| 307 | - | |
| 308 | -#: plugins/software_communities/lib/categories_software_block.rb:8 | |
| 309 | -msgid "Categories Softwares" | |
| 310 | -msgstr "" | |
| 311 | - | |
| 312 | -#: plugins/software_communities/lib/categories_software_block.rb:12 | |
| 313 | -msgid "This block displays the categories and the amount of softwares for\n each category." | |
| 314 | -msgstr "" | |
| 315 | - | |
| 316 | -#: plugins/software_communities/lib/softwares_block.rb:8 | |
| 317 | -msgid "Softwares" | |
| 318 | -msgstr "" | |
| 319 | - | |
| 320 | -#: plugins/software_communities/lib/softwares_block.rb:13 | |
| 321 | -msgid "{#} generic software" | |
| 322 | -msgid_plural "{#} generic softwares" | |
| 323 | -msgstr[0] "" | |
| 324 | -msgstr[1] "" | |
| 325 | - | |
| 326 | -#: plugins/software_communities/lib/softwares_block.rb:15 | |
| 327 | -msgid "{#} public software" | |
| 328 | -msgid_plural "{#} public softwares" | |
| 329 | -msgstr[0] "" | |
| 330 | -msgstr[1] "" | |
| 331 | - | |
| 332 | -#: plugins/software_communities/lib/softwares_block.rb:17 | |
| 333 | -msgid "{#} software" | |
| 334 | -msgid_plural "{#} softwares" | |
| 335 | -msgstr[0] "" | |
| 336 | -msgstr[1] "" | |
| 337 | - | |
| 338 | -#: plugins/software_communities/lib/softwares_block.rb:22 | |
| 339 | -msgid "This block displays the softwares in which the user is a member." | |
| 340 | -msgstr "" | |
| 341 | - | |
| 342 | -#: plugins/software_communities/lib/softwares_block.rb:31 plugins/software_communities/lib/softwares_block.rb:37 | |
| 343 | -msgid "softwares|View all" | |
| 344 | -msgstr "" | |
| 345 | - | |
| 346 | -#: plugins/software_communities/views/profile/members.html.erb:3 plugins/software_communities/views/profile/members.html.erb:26 | |
| 347 | -msgid "Members" | |
| 348 | -msgstr "" | |
| 349 | - | |
| 350 | -#: plugins/software_communities/views/profile/members.html.erb:4 | |
| 351 | -msgid "%s" | |
| 352 | -msgstr "" | |
| 353 | - | |
| 354 | -#: plugins/software_communities/views/profile/members.html.erb:43 | |
| 355 | -msgid "Administrators" | |
| 356 | -msgstr "" | |
| 357 | - | |
| 358 | -#: plugins/software_communities/views/profile/members.html.erb:57 | |
| 359 | -msgid "Go back" | |
| 360 | -msgstr "" | |
| 361 | - | |
| 362 | -#: plugins/software_communities/views/profile/members.html.erb:60 | |
| 363 | -msgid "Invite people to join" | |
| 364 | -msgstr "" | |
| 365 | - | |
| 366 | -#: plugins/software_communities/views/profile/members.html.erb:63 | |
| 367 | -msgid "Send e-mail to members" | |
| 368 | -msgstr "" | |
| 369 | - | |
| 370 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:3 | |
| 371 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:1 | |
| 372 | -msgid "Software Information" | |
| 373 | -msgstr "" | |
| 374 | - | |
| 375 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:6 | |
| 376 | -msgid "Name:" | |
| 377 | -msgstr "" | |
| 378 | - | |
| 379 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:7 | |
| 380 | -msgid "Adherent to e_mag:" | |
| 381 | -msgstr "" | |
| 382 | - | |
| 383 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:7 plugins/software_communities/views/profile/_software_tab.html.erb:8 | |
| 384 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:9 | |
| 385 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:10 | |
| 386 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:11 | |
| 387 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:49 | |
| 388 | -msgid "Yes" | |
| 389 | -msgstr "" | |
| 390 | - | |
| 391 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:7 plugins/software_communities/views/profile/_software_tab.html.erb:8 | |
| 392 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:9 | |
| 393 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:10 | |
| 394 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:11 | |
| 395 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:50 | |
| 396 | -msgid "No" | |
| 397 | -msgstr "" | |
| 398 | - | |
| 399 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:8 | |
| 400 | -msgid "Adherent to icp_brasil:" | |
| 401 | -msgstr "" | |
| 402 | - | |
| 403 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:9 | |
| 404 | -msgid "Adherent to e_ping:" | |
| 405 | -msgstr "" | |
| 406 | - | |
| 407 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:10 | |
| 408 | -msgid "Adherent to e_arq:" | |
| 409 | -msgstr "" | |
| 410 | - | |
| 411 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:11 | |
| 412 | -msgid "Internacionalizable:" | |
| 413 | -msgstr "" | |
| 414 | - | |
| 415 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:12 | |
| 416 | -msgid "Operating Platform:" | |
| 417 | -msgstr "" | |
| 418 | - | |
| 419 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:13 | |
| 420 | -msgid "Demonstration URL:" | |
| 421 | -msgstr "" | |
| 422 | - | |
| 423 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:14 | |
| 424 | -msgid "Short Name:" | |
| 425 | -msgstr "" | |
| 426 | - | |
| 427 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:15 | |
| 428 | -msgid "Objectives:" | |
| 429 | -msgstr "" | |
| 430 | - | |
| 431 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:16 | |
| 432 | -msgid "Features:" | |
| 433 | -msgstr "" | |
| 434 | - | |
| 435 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:19 | |
| 436 | -msgid "Version:" | |
| 437 | -msgstr "" | |
| 438 | - | |
| 439 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:20 | |
| 440 | -msgid "Link:" | |
| 441 | -msgstr "" | |
| 442 | - | |
| 443 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:25 | |
| 444 | -msgid "Show Libraries" | |
| 445 | -msgstr "" | |
| 446 | - | |
| 447 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:26 | |
| 448 | -msgid "Hide Libraries" | |
| 449 | -msgstr "" | |
| 450 | - | |
| 451 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:35 | |
| 452 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:74 | |
| 453 | -msgid "Libraries" | |
| 454 | -msgstr "" | |
| 455 | - | |
| 456 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:53 | |
| 457 | -msgid "Show Database" | |
| 458 | -msgstr "" | |
| 459 | - | |
| 460 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:54 | |
| 461 | -msgid "Hide Database" | |
| 462 | -msgstr "" | |
| 463 | - | |
| 464 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:63 | |
| 465 | -msgid "Software Databases" | |
| 466 | -msgstr "" | |
| 467 | - | |
| 468 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:81 | |
| 469 | -msgid "Show Languages" | |
| 470 | -msgstr "" | |
| 471 | - | |
| 472 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:82 | |
| 473 | -msgid "Hide Languages" | |
| 474 | -msgstr "" | |
| 475 | - | |
| 476 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:91 | |
| 477 | -msgid "Software Languages" | |
| 478 | -msgstr "" | |
| 479 | - | |
| 480 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:109 | |
| 481 | -msgid "Show Operating Systems" | |
| 482 | -msgstr "" | |
| 483 | - | |
| 484 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:110 | |
| 485 | -msgid "Hide Operating Systems" | |
| 486 | -msgstr "" | |
| 487 | - | |
| 488 | -#: plugins/software_communities/views/profile/_software_tab.html.erb:120 | |
| 489 | -msgid "Operating System" | |
| 490 | -msgstr "" | |
| 491 | - | |
| 492 | -#: plugins/software_communities/views/profile/index.html.erb:17 | |
| 493 | -msgid "Control Panel" | |
| 494 | -msgstr "" | |
| 495 | - | |
| 496 | -#: plugins/software_communities/views/profile/_profile_members_list.html.erb:2 | |
| 497 | -msgid "Sort by:" | |
| 498 | -msgstr "" | |
| 499 | - | |
| 500 | -#: plugins/software_communities/views/profile/_profile_members_list.html.erb:5 | |
| 501 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:52 | |
| 502 | -msgid "Name A-Z" | |
| 503 | -msgstr "" | |
| 504 | - | |
| 505 | -#: plugins/software_communities/views/profile/_profile_members_list.html.erb:6 | |
| 506 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:53 | |
| 507 | -msgid "Name Z-A" | |
| 508 | -msgstr "" | |
| 509 | - | |
| 510 | -#: plugins/software_communities/views/box_organizer/_software_tab_data_block.html.erb:5 | |
| 511 | -msgid "Which blog should have its posts displayed: " | |
| 512 | -msgstr "" | |
| 513 | - | |
| 514 | -#: plugins/software_communities/views/box_organizer/_software_tab_data_block.html.erb:13 | |
| 515 | -msgid "This community has no blogs" | |
| 516 | -msgstr "" | |
| 517 | - | |
| 518 | -#: plugins/software_communities/views/box_organizer/_softwares_block.html.erb:2 | |
| 519 | -msgid "Limit of items" | |
| 520 | -msgstr "" | |
| 521 | - | |
| 522 | -#: plugins/software_communities/views/box_organizer/_softwares_block.html.erb:3 | |
| 523 | -msgid "Software Type:" | |
| 524 | -msgstr "" | |
| 525 | - | |
| 526 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:5 | |
| 527 | -msgid "Benefited People" | |
| 528 | -msgstr "" | |
| 529 | - | |
| 530 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:6 | |
| 531 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:8 | |
| 532 | -msgid "Portal suggested value: " | |
| 533 | -msgstr "" | |
| 534 | - | |
| 535 | -#: plugins/software_communities/views/box_organizer/_statistic_block.html.erb:7 | |
| 536 | -msgid "Saved Resources" | |
| 537 | -msgstr "" | |
| 538 | - | |
| 539 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:4 | |
| 540 | -msgid "Link" | |
| 541 | -msgstr "" | |
| 542 | - | |
| 543 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:5 | |
| 544 | -msgid "Platforms" | |
| 545 | -msgstr "" | |
| 546 | - | |
| 547 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:6 plugins/software_communities/views/blocks/download.html.erb:17 | |
| 548 | -msgid "Minimum Requirements" | |
| 549 | -msgstr "" | |
| 550 | - | |
| 551 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:7 | |
| 552 | -msgid "Size:" | |
| 553 | -msgstr "" | |
| 554 | - | |
| 555 | -#: plugins/software_communities/views/box_organizer/_download_block.html.erb:16 | |
| 556 | -msgid "New link" | |
| 557 | -msgstr "" | |
| 558 | - | |
| 559 | -#: plugins/software_communities/views/box_organizer/_wiki_block.html.erb:3 | |
| 560 | -msgid "Wiki link" | |
| 561 | -msgstr "" | |
| 562 | - | |
| 563 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:4 | |
| 564 | -#: plugins/software_communities/views/blocks/categories_and_tags.html.erb:2 | |
| 565 | -msgid "Categories" | |
| 566 | -msgstr "" | |
| 567 | - | |
| 568 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:10 | |
| 569 | -#: plugins/software_communities/views/search/_full_community.html.erb:35 | |
| 570 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:41 | |
| 571 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:15 | |
| 572 | -msgid "\"#{category.name}\"" | |
| 573 | -msgstr "" | |
| 574 | - | |
| 575 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:16 | |
| 576 | -msgid "More options" | |
| 577 | -msgstr "" | |
| 578 | - | |
| 579 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:18 | |
| 580 | -msgid "Clean up" | |
| 581 | -msgstr "" | |
| 582 | - | |
| 583 | -#: plugins/software_communities/views/search/_catalog_filter.html.erb:19 | |
| 584 | -msgid "Close" | |
| 585 | -msgstr "" | |
| 586 | - | |
| 587 | -#: plugins/software_communities/views/search/_full_community.html.erb:27 | |
| 588 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:65 | |
| 589 | -msgid "Software Categories" | |
| 590 | -msgstr "" | |
| 591 | - | |
| 592 | -#: plugins/software_communities/views/search/_full_community.html.erb:46 | |
| 593 | -msgid "This software doesn't have categories" | |
| 594 | -msgstr "" | |
| 595 | - | |
| 596 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:12 | |
| 597 | -msgid "see all (%d)" | |
| 598 | -msgstr "" | |
| 599 | - | |
| 600 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:34 | |
| 601 | -msgid "No software found. Try more general filters" | |
| 602 | -msgstr "" | |
| 603 | - | |
| 604 | -#: plugins/software_communities/views/search/_catalog_result_list.html.erb:36 | |
| 605 | -msgid "No software found. Try more general filters or check the software category individually" | |
| 606 | -msgstr "" | |
| 607 | - | |
| 608 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:3 | |
| 609 | -msgid "Search Public Software Catalog" | |
| 610 | -msgstr "" | |
| 611 | - | |
| 612 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:14 | |
| 613 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:4 | |
| 614 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:7 | |
| 615 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:10 | |
| 616 | -msgid "Public Software" | |
| 617 | -msgstr "" | |
| 618 | - | |
| 619 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:15 | |
| 620 | -msgid "Projects that have passed by the Avalia SPB process according to the requirements of IN 01/2011." | |
| 621 | -msgstr "" | |
| 622 | - | |
| 623 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:18 | |
| 624 | -msgid "All" | |
| 625 | -msgstr "" | |
| 626 | - | |
| 627 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:19 | |
| 628 | -msgid "Projects included in the portal as cases provided by the IN 01/2011." | |
| 629 | -msgstr "" | |
| 630 | - | |
| 631 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:24 | |
| 632 | -msgid "Type words about the software you're looking for (the search begins after 3 characters)" | |
| 633 | -msgstr "" | |
| 634 | - | |
| 635 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:27 | |
| 636 | -msgid "Filter" | |
| 637 | -msgstr "" | |
| 638 | - | |
| 639 | -#: plugins/software_communities/views/search/_software_search_form.html.erb:54 | |
| 640 | -msgid "Relevance" | |
| 641 | -msgstr "" | |
| 642 | - | |
| 643 | -#: plugins/software_communities/views/search/software_infos.html.erb:6 | |
| 644 | -msgid "Type words about the %s you're looking for" | |
| 645 | -msgstr "" | |
| 646 | - | |
| 647 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:10 | |
| 648 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:56 | |
| 649 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:14 | |
| 650 | -msgid "Finality" | |
| 651 | -msgstr "" | |
| 652 | - | |
| 653 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:15 | |
| 654 | -msgid "Licenses" | |
| 655 | -msgstr "" | |
| 656 | - | |
| 657 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:20 | |
| 658 | -msgid "License link" | |
| 659 | -msgstr "" | |
| 660 | - | |
| 661 | -#: plugins/software_communities/views/_main_software_editor_extras.html.erb:29 | |
| 662 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:89 | |
| 663 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:45 | |
| 664 | -msgid "Link to Repository: " | |
| 665 | -msgstr "" | |
| 666 | - | |
| 667 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:4 | |
| 668 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:7 | |
| 669 | -msgid "Public software" | |
| 670 | -msgstr "" | |
| 671 | - | |
| 672 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:12 | |
| 673 | -msgid "Adherent to e-PING ?" | |
| 674 | -msgstr "" | |
| 675 | - | |
| 676 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:21 | |
| 677 | -msgid "Adherent to e-MAG ?" | |
| 678 | -msgstr "" | |
| 679 | - | |
| 680 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:30 | |
| 681 | -msgid "Adherent to ICP-Brasil ?" | |
| 682 | -msgstr "" | |
| 683 | - | |
| 684 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:39 | |
| 685 | -msgid "Adherent to e-ARQ ?" | |
| 686 | -msgstr "" | |
| 687 | - | |
| 688 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:48 | |
| 689 | -msgid "Internacionalizable ?" | |
| 690 | -msgstr "" | |
| 691 | - | |
| 692 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:59 | |
| 693 | -msgid "Operating Platform" | |
| 694 | -msgstr "" | |
| 695 | - | |
| 696 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:64 | |
| 697 | -msgid "Features" | |
| 698 | -msgstr "" | |
| 699 | - | |
| 700 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:69 | |
| 701 | -msgid "Demonstration url" | |
| 702 | -msgstr "" | |
| 703 | - | |
| 704 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:82 | |
| 705 | -msgid "Operating Systems" | |
| 706 | -msgstr "" | |
| 707 | - | |
| 708 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:90 | |
| 709 | -msgid "Programming languages" | |
| 710 | -msgstr "" | |
| 711 | - | |
| 712 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_public_software_info.html.erb:97 | |
| 713 | -msgid "Databases" | |
| 714 | -msgstr "" | |
| 715 | - | |
| 716 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_database_fields.html.erb:11 | |
| 717 | -msgid "New Database" | |
| 718 | -msgstr "" | |
| 719 | - | |
| 720 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_license_info_fields.html.erb:5 | |
| 721 | -msgid "Autocomplete field, type some license" | |
| 722 | -msgstr "" | |
| 723 | - | |
| 724 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_license_info_fields.html.erb:8 | |
| 725 | -msgid "Read license" | |
| 726 | -msgstr "" | |
| 727 | - | |
| 728 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_language_fields.html.erb:11 | |
| 729 | -msgid "New language" | |
| 730 | -msgstr "" | |
| 731 | - | |
| 732 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_operating_system_fields.html.erb:11 | |
| 733 | -msgid "New Operating System" | |
| 734 | -msgstr "" | |
| 735 | - | |
| 736 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:5 | |
| 737 | -msgid "Creating new software" | |
| 738 | -msgstr "" | |
| 739 | - | |
| 740 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:9 | |
| 741 | -msgid "Enter the basic information about the software.<br>\n You can add the details after you create it." | |
| 742 | -msgstr "" | |
| 743 | - | |
| 744 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:16 | |
| 745 | -msgid "Note that the creation of communities in this environment is restricted. Your request to create this new community will be sent to %{environment} administrators and will be approved or rejected according to their methods and criteria." | |
| 746 | -msgstr "" | |
| 747 | - | |
| 748 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:22 | |
| 749 | -msgid "\"Can`t create new software: #{@errors.length} errors\"" | |
| 750 | -msgstr "" | |
| 751 | - | |
| 752 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:45 | |
| 753 | -msgid "Domain" | |
| 754 | -msgstr "" | |
| 755 | - | |
| 756 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:57 | |
| 757 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:15 | |
| 758 | -msgid "What is the software for?" | |
| 759 | -msgstr "" | |
| 760 | - | |
| 761 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:64 | |
| 762 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:21 | |
| 763 | -msgid "Software Logo" | |
| 764 | -msgstr "" | |
| 765 | - | |
| 766 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:69 | |
| 767 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:26 | |
| 768 | -msgid "Image:" | |
| 769 | -msgstr "" | |
| 770 | - | |
| 771 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:69 | |
| 772 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:26 | |
| 773 | -msgid "Max size: %s (.jpg, .gif, .png)" | |
| 774 | -msgstr "" | |
| 775 | - | |
| 776 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:76 | |
| 777 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:33 | |
| 778 | -msgid "License Version: " | |
| 779 | -msgstr "" | |
| 780 | - | |
| 781 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:97 | |
| 782 | -msgid "Create" | |
| 783 | -msgstr "" | |
| 784 | - | |
| 785 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/new_software.html.erb:98 | |
| 786 | -msgid "Cancel" | |
| 787 | -msgstr "" | |
| 788 | - | |
| 789 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_main_software_editor_extras.html.erb:8 | |
| 790 | -msgid "Short Name" | |
| 791 | -msgstr "" | |
| 792 | - | |
| 793 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:1 | |
| 794 | -msgid "Edit Software" | |
| 795 | -msgstr "" | |
| 796 | - | |
| 797 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:9 | |
| 798 | -msgid "Main Information" | |
| 799 | -msgstr "" | |
| 800 | - | |
| 801 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:12 | |
| 802 | -msgid "Specifications" | |
| 803 | -msgstr "" | |
| 804 | - | |
| 805 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:18 | |
| 806 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:68 | |
| 807 | -msgid "Save" | |
| 808 | -msgstr "" | |
| 809 | - | |
| 810 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/edit_software.html.erb:20 | |
| 811 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:71 | |
| 812 | -msgid "Back to control panel" | |
| 813 | -msgstr "" | |
| 814 | - | |
| 815 | -#: plugins/software_communities/views/software_communities_plugin_myprofile/_library_fields.html.erb:11 | |
| 816 | -msgid "New Library" | |
| 817 | -msgstr "" | |
| 818 | - | |
| 819 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:4 | |
| 820 | -msgid "See more Software" | |
| 821 | -msgstr "" | |
| 822 | - | |
| 823 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:8 | |
| 824 | -msgid "Categories:" | |
| 825 | -msgstr "" | |
| 826 | - | |
| 827 | -#: plugins/software_communities/views/blocks/categories_software.html.erb:23 plugins/software_communities/views/blocks/search_catalog.html.erb:9 | |
| 828 | -msgid "Access the complete catalog" | |
| 829 | -msgstr "" | |
| 830 | - | |
| 831 | -#: plugins/software_communities/views/blocks/wiki.html.erb:2 | |
| 832 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:2 plugins/software_communities/views/blocks/download.html.erb:2 | |
| 833 | -#: plugins/software_communities/views/blocks/software_information.html.erb:4 plugins/software_communities/views/blocks/repository.html.erb:2 | |
| 834 | -msgid "This community needs a software to use this block" | |
| 835 | -msgstr "" | |
| 836 | - | |
| 837 | -#: plugins/software_communities/views/blocks/wiki.html.erb:4 | |
| 838 | -msgid "Wiki" | |
| 839 | -msgstr "" | |
| 840 | - | |
| 841 | -#: plugins/software_communities/views/blocks/main_area_softwares.html.erb:23 | |
| 842 | -msgid "See More" | |
| 843 | -msgstr "" | |
| 844 | - | |
| 845 | -#: plugins/software_communities/views/blocks/search_catalog.html.erb:2 | |
| 846 | -msgid "Catalog of Public Software" | |
| 847 | -msgstr "" | |
| 848 | - | |
| 849 | -#: plugins/software_communities/views/blocks/search_catalog.html.erb:5 | |
| 850 | -msgid "Search" | |
| 851 | -msgstr "" | |
| 852 | - | |
| 853 | -#: plugins/software_communities/views/blocks/categories_and_tags.html.erb:12 | |
| 854 | -msgid "Tags" | |
| 855 | -msgstr "" | |
| 856 | - | |
| 857 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:6 | |
| 858 | -msgid "Discussions" | |
| 859 | -msgstr "" | |
| 860 | - | |
| 861 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:7 | |
| 862 | -msgid "Blog" | |
| 863 | -msgstr "" | |
| 864 | - | |
| 865 | -#: plugins/software_communities/views/blocks/software_tab_data.html.erb:8 | |
| 866 | -msgid "Repository Feed" | |
| 867 | -msgstr "" | |
| 868 | - | |
| 869 | -#: plugins/software_communities/views/blocks/software_statistics.html.erb:5 | |
| 870 | -msgid " benefited people*" | |
| 871 | -msgstr "" | |
| 872 | - | |
| 873 | -#: plugins/software_communities/views/blocks/software_statistics.html.erb:6 | |
| 874 | -msgid " saved resources*" | |
| 875 | -msgstr "" | |
| 876 | - | |
| 877 | -#: plugins/software_communities/views/blocks/software_statistics.html.erb:10 | |
| 878 | -msgid "Data estimated by the software administrator." | |
| 879 | -msgstr "" | |
| 880 | - | |
| 881 | -#: plugins/software_communities/views/blocks/download.html.erb:4 | |
| 882 | -msgid "\"Download #{block.owner.software_info.community.name}\"" | |
| 883 | -msgstr "" | |
| 884 | - | |
| 885 | -#: plugins/software_communities/views/blocks/download.html.erb:9 | |
| 886 | -msgid "Download the software" | |
| 887 | -msgstr "" | |
| 888 | - | |
| 889 | -#: plugins/software_communities/views/blocks/download.html.erb:15 | |
| 890 | -msgid "\"#{download[:name]}\"" | |
| 891 | -msgstr "" | |
| 892 | - | |
| 893 | -#: plugins/software_communities/views/blocks/download.html.erb:16 | |
| 894 | -msgid "\"Platform:#{download[:software_description]}\"" | |
| 895 | -msgstr "" | |
| 896 | - | |
| 897 | -#: plugins/software_communities/views/blocks/download.html.erb:23 | |
| 898 | -msgid "\"License: #{block.owner.software_info.license_info.version}\"" | |
| 899 | -msgstr "" | |
| 900 | - | |
| 901 | -#: plugins/software_communities/views/blocks/software_highlights.html.erb:13 | |
| 902 | -msgid "See all" | |
| 903 | -msgstr "" | |
| 904 | - | |
| 905 | -#: plugins/software_communities/views/blocks/_software_tab_blog.html.erb:5 | |
| 906 | -msgid "This community has no posts in its blog" | |
| 907 | -msgstr "" | |
| 908 | - | |
| 909 | -#: plugins/software_communities/views/blocks/_software_tab_blog.html.erb:13 | |
| 910 | -msgid "Read more" | |
| 911 | -msgstr "" | |
| 912 | - | |
| 913 | -#: plugins/software_communities/views/blocks/software_information.html.erb:16 | |
| 914 | -msgid "Control panel" | |
| 915 | -msgstr "" | |
| 916 | - | |
| 917 | -#: plugins/software_communities/views/blocks/software_information.html.erb:24 | |
| 918 | -msgid "\"#{block.owner.software_info.acronym} - \"" | |
| 919 | -msgstr "" | |
| 920 | - | |
| 921 | -#: plugins/software_communities/views/blocks/software_information.html.erb:25 | |
| 922 | -msgid "\"#{block.owner.name}\"" | |
| 923 | -msgstr "" | |
| 924 | - | |
| 925 | -#: plugins/software_communities/views/blocks/repository.html.erb:4 | |
| 926 | -msgid "Repository" | |
| 927 | -msgstr "" | |
| 928 | - | |
| 929 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:1 | |
| 930 | -msgid "General information" | |
| 931 | -msgstr "" | |
| 932 | - | |
| 933 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:40 | |
| 934 | -msgid "Address" | |
| 935 | -msgstr "" | |
| 936 | - | |
| 937 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:46 | |
| 938 | -msgid "WARNING!" | |
| 939 | -msgstr "" | |
| 940 | - | |
| 941 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:47 | |
| 942 | -msgid "You are about to change the address, and this will break external links to the homepage or to content inside it. Do you really want to change?" | |
| 943 | -msgstr "" | |
| 944 | - | |
| 945 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:63 | |
| 946 | -msgid "Enable \"contact us\"" | |
| 947 | -msgstr "" | |
| 948 | - | |
| 949 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:68 | |
| 950 | -msgid "Products/Services catalog" | |
| 951 | -msgstr "" | |
| 952 | - | |
| 953 | -#: plugins/software_communities/views/profile_editor/_software_community.html.erb:69 | |
| 954 | -msgid "Number of products/services displayed per page on catalog" | |
| 955 | -msgstr "" | |
| 956 | - | |
| 957 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:4 | |
| 958 | -msgid "Configure Software Community" | |
| 959 | -msgstr "" | |
| 960 | - | |
| 961 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:8 | |
| 962 | -msgid "Set the basic settings of the software associated community" | |
| 963 | -msgstr "" | |
| 964 | - | |
| 965 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:18 | |
| 966 | -msgid "This profile is a template" | |
| 967 | -msgstr "" | |
| 968 | - | |
| 969 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:24 | |
| 970 | -msgid "Privacy options" | |
| 971 | -msgstr "" | |
| 972 | - | |
| 973 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:28 | |
| 974 | -msgid "Public — show my contents to all internet users" | |
| 975 | -msgstr "" | |
| 976 | - | |
| 977 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:31 | |
| 978 | -msgid "Private — show my contents only to friends" | |
| 979 | -msgstr "" | |
| 980 | - | |
| 981 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:35 | |
| 982 | -msgid "Public — show content of this group to all internet users" | |
| 983 | -msgstr "" | |
| 984 | - | |
| 985 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:38 | |
| 986 | -msgid "Private — show content of this group only to members" | |
| 987 | -msgstr "" | |
| 988 | - | |
| 989 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:43 | |
| 990 | -msgid "Page to redirect after login" | |
| 991 | -msgstr "" | |
| 992 | - | |
| 993 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:47 | |
| 994 | -msgid "Translations" | |
| 995 | -msgstr "" | |
| 996 | - | |
| 997 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:49 | |
| 998 | -msgid "Automaticaly redirect the visitor to the article translated to his/her language" | |
| 999 | -msgstr "" | |
| 1000 | - | |
| 1001 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:53 | |
| 1002 | -msgid "Suggestions" | |
| 1003 | -msgstr "" | |
| 1004 | - | |
| 1005 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:55 | |
| 1006 | -msgid "Send me relationship suggestions by email" | |
| 1007 | -msgstr "" | |
| 1008 | - | |
| 1009 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:77 | |
| 1010 | -msgid "Delete software and community" | |
| 1011 | -msgstr "" | |
| 1012 | - | |
| 1013 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:80 | |
| 1014 | -msgid "Deactivate software and community" | |
| 1015 | -msgstr "" | |
| 1016 | - | |
| 1017 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:80 | |
| 1018 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:82 | |
| 1019 | -msgid "Are you sure you want to deactivate this profile?" | |
| 1020 | -msgstr "" | |
| 1021 | - | |
| 1022 | -#: plugins/software_communities/views/profile_editor/edit_software_community.html.erb:82 | |
| 1023 | -msgid "Activate software and community" | |
| 1024 | -msgstr "" | |
| 1025 | - | |
| 1026 | -#: plugins/software_communities/views/profile_editor/_first_edit_software_community_extras.html.erb:3 | |
| 1027 | -msgid "Step 1 - Software Creation" | |
| 1028 | -msgstr "" | |
| 1029 | - | |
| 1030 | -#: plugins/software_communities/views/profile_editor/_first_edit_software_community_extras.html.erb:7 | |
| 1031 | -msgid "Step 2 - Community Settings" | |
| 1032 | -msgstr "" | |
| 1033 | - | |
| 1034 | -#: plugins/software_communities/views/comments_extra_fields.html.erb:3 | |
| 1035 | -msgid "Additional informations" | |
| 1036 | -msgstr "" | |
| 1037 | - | |
| 1038 | -#: plugins/software_communities/views/comments_extra_fields.html.erb:11 | |
| 1039 | -msgid "Number of Beneficiaries" | |
| 1040 | -msgstr "" | |
| 1041 | - | |
| 1042 | -#: plugins/software_communities/views/comments_extra_fields.html.erb:17 | |
| 1043 | -msgid "Saved resources" | |
| 1044 | -msgstr "" |
public/app.js
public/blocks/software-download.js
| ... | ... | @@ -1,51 +0,0 @@ |
| 1 | -modulejs.define('SoftwareDownload', ['jquery', 'NoosferoRoot'], function($, NoosferoRoot) { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - var AJAX_URL = { | |
| 5 | - get_download_template: | |
| 6 | - NoosferoRoot.urlWithSubDirectory("/plugin/software_communities/get_block_template") | |
| 7 | - }; | |
| 8 | - | |
| 9 | - var $download_html_template; | |
| 10 | - | |
| 11 | - function getDownloadListTemplate() { | |
| 12 | - var block_template = sessionStorage.getItem('download_list_block_template'); | |
| 13 | - | |
| 14 | - if(block_template && block_template.length > 0) { | |
| 15 | - $download_html_template = block_template; | |
| 16 | - } else { | |
| 17 | - $.get(AJAX_URL.get_download_template, function(response) { | |
| 18 | - $download_html_template = response; | |
| 19 | - sessionStorage.setItem('download_list_block_template', response); | |
| 20 | - }); | |
| 21 | - } | |
| 22 | - } | |
| 23 | - | |
| 24 | - | |
| 25 | - function SoftwareDownload() { | |
| 26 | - getDownloadListTemplate(); | |
| 27 | - } | |
| 28 | - | |
| 29 | - | |
| 30 | - SoftwareDownload.prototype.addNewDonwload = function() { | |
| 31 | - var new_download = $($download_html_template); | |
| 32 | - $("#droppable-list-downloads").append(new_download); | |
| 33 | - } | |
| 34 | - | |
| 35 | - | |
| 36 | - SoftwareDownload.prototype.deleteDownload = function(element) { | |
| 37 | - var delete_download = $(element).parent().parent().parent().remove(); | |
| 38 | - } | |
| 39 | - | |
| 40 | - | |
| 41 | - return { | |
| 42 | - isCurrentPage: function() { | |
| 43 | - return $('.download-block').length !== 0; | |
| 44 | - }, | |
| 45 | - | |
| 46 | - | |
| 47 | - init: function() { | |
| 48 | - window.softwareDownload = new SoftwareDownload(); | |
| 49 | - } | |
| 50 | - } | |
| 51 | -}); |
public/initializer.js
| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | -(function() { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - var dependencies = [ | |
| 5 | - 'ControlPanel', | |
| 6 | - 'EditSoftware', | |
| 7 | - 'NewSoftware', | |
| 8 | - 'SearchSoftwareCatalog', | |
| 9 | - 'SoftwareDownload', | |
| 10 | - 'ProfileTabsSoftware', | |
| 11 | - 'NewCommunity', | |
| 12 | - 'CommentsSoftwareExtraFields' | |
| 13 | - ]; | |
| 14 | - | |
| 15 | - | |
| 16 | - modulejs.define('Initializer', dependencies, function() { | |
| 17 | - var __dependencies = arguments; | |
| 18 | - | |
| 19 | - | |
| 20 | - function call_dependency(dependency) { | |
| 21 | - if( dependency.isCurrentPage() ) { | |
| 22 | - dependency.init(); | |
| 23 | - } | |
| 24 | - } | |
| 25 | - | |
| 26 | - | |
| 27 | - return { | |
| 28 | - init: function() { | |
| 29 | - for(var i=0, len = __dependencies.length; i < len; i++) { | |
| 30 | - call_dependency(__dependencies[i]); | |
| 31 | - } | |
| 32 | - } | |
| 33 | - }; | |
| 34 | - }); | |
| 35 | -})(); |
public/lib/auto-complete.js
| ... | ... | @@ -1,64 +0,0 @@ |
| 1 | -modulejs.define('AutoComplete', ['jquery'], function($) { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - | |
| 5 | - function get_hidden_description_field(autocomplete_field, klass) { | |
| 6 | - var field = $(autocomplete_field); | |
| 7 | - field = field.parent().parent().find(klass); | |
| 8 | - return field; | |
| 9 | - } | |
| 10 | - | |
| 11 | - | |
| 12 | - function verify_autocomplete(field, klass) { | |
| 13 | - var field = $(field); | |
| 14 | - var selected = get_hidden_description_field(field, klass); | |
| 15 | - var message_error = $(field).parent().find(".autocomplete_validation_message"); | |
| 16 | - | |
| 17 | - if( field.length === 0 || selected.val().length === 0 ) { | |
| 18 | - message_error.removeClass("hide-field"); | |
| 19 | - selected.val(""); | |
| 20 | - | |
| 21 | - message_error.show(); | |
| 22 | - } else { | |
| 23 | - field.val(selected.attr("data-label")); | |
| 24 | - message_error.hide(); | |
| 25 | - } | |
| 26 | - } | |
| 27 | - | |
| 28 | - | |
| 29 | - function enable_autocomplete(field_name, field_value_class, autocomplete_class, ajax_url, select_callback) { | |
| 30 | - $(autocomplete_class).autocomplete({ | |
| 31 | - source : function(request, response){ | |
| 32 | - $.ajax({ | |
| 33 | - type: "GET", | |
| 34 | - url: ajax_url, | |
| 35 | - data: {query: request.term, field: field_name}, | |
| 36 | - success: function(result){ | |
| 37 | - response(result); | |
| 38 | - } | |
| 39 | - }); | |
| 40 | - }, | |
| 41 | - | |
| 42 | - minLength: 0, | |
| 43 | - | |
| 44 | - select : function (event, selected) { | |
| 45 | - var description = get_hidden_description_field(this, field_value_class); | |
| 46 | - description.val(selected.item.id); | |
| 47 | - description.attr("data-label", selected.item.label); | |
| 48 | - | |
| 49 | - if( select_callback !== undefined ) { | |
| 50 | - select_callback(selected); | |
| 51 | - } | |
| 52 | - } | |
| 53 | - }).blur(function(){ | |
| 54 | - verify_autocomplete(this, field_value_class); | |
| 55 | - }).click(function(){ | |
| 56 | - $(this).autocomplete("search", ""); | |
| 57 | - }); | |
| 58 | - } | |
| 59 | - | |
| 60 | - | |
| 61 | - return { | |
| 62 | - enable: enable_autocomplete | |
| 63 | - } | |
| 64 | -}); | |
| 65 | 0 | \ No newline at end of file |
public/lib/noosfero-root.js
public/lib/select-element.js
| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | -modulejs.define('SelectElement', function() { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - | |
| 5 | - function SelectElement(name, id) { | |
| 6 | - this.select = document.createElement("select"); | |
| 7 | - } | |
| 8 | - | |
| 9 | - | |
| 10 | - SelectElement.prototype.setAttr = function(attr, value) { | |
| 11 | - return this.select.setAttribute(attr, value); | |
| 12 | - }; | |
| 13 | - | |
| 14 | - | |
| 15 | - SelectElement.prototype.addOption = function(option) { | |
| 16 | - return this.select.add(option); | |
| 17 | - }; | |
| 18 | - | |
| 19 | - | |
| 20 | - SelectElement.prototype.getSelect = function() { | |
| 21 | - return this.select; | |
| 22 | - }; | |
| 23 | - | |
| 24 | - | |
| 25 | - SelectElement.generateOption = function(value, text) { | |
| 26 | - var option; | |
| 27 | - option = document.createElement("option"); | |
| 28 | - option.setAttribute("value", value); | |
| 29 | - option.text = text; | |
| 30 | - return option; | |
| 31 | - }; | |
| 32 | - | |
| 33 | - | |
| 34 | - return SelectElement; | |
| 35 | -}); |
public/lib/select-field-choices.js
| ... | ... | @@ -1,81 +0,0 @@ |
| 1 | -modulejs.define('SelectFieldChoices', ['jquery', 'SelectElement'], function($, SelectElement) { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - | |
| 5 | - function SelectFieldChoices(state_id, city_id, state_url) { | |
| 6 | - this.state_id = state_id; | |
| 7 | - this.input_html = $(state_id).parent().html(); | |
| 8 | - this.old_value = $(state_id).val(); | |
| 9 | - this.city_parent_div = $(city_id).parent().parent().parent(); | |
| 10 | - this.state_url = state_url; | |
| 11 | - } | |
| 12 | - | |
| 13 | - | |
| 14 | - SelectFieldChoices.prototype.getCurrentStateElement = function() { | |
| 15 | - return $(this.state_id); | |
| 16 | - }; | |
| 17 | - | |
| 18 | - | |
| 19 | - SelectFieldChoices.prototype.replaceWith = function(html) { | |
| 20 | - var parent_div = this.getCurrentStateElement().parent(); | |
| 21 | - parent_div.html(html); | |
| 22 | - }; | |
| 23 | - | |
| 24 | - | |
| 25 | - SelectFieldChoices.prototype.generateSelect = function(state_list) { | |
| 26 | - var select_element, option; | |
| 27 | - | |
| 28 | - select_element = new SelectElement(); | |
| 29 | - select_element.setAttr("name", "profile_data[state]"); | |
| 30 | - select_element.setAttr("id", "state_field"); | |
| 31 | - select_element.setAttr("class", "type-select valid"); | |
| 32 | - | |
| 33 | - state_list.forEach(function(state) { | |
| 34 | - option = SelectElement.generateOption(state, state); | |
| 35 | - select_element.addOption(option); | |
| 36 | - }); | |
| 37 | - | |
| 38 | - return select_element.getSelect(); | |
| 39 | - }; | |
| 40 | - | |
| 41 | - | |
| 42 | - SelectFieldChoices.prototype.replaceStateWithSelectElement = function() { | |
| 43 | - var klass = this; | |
| 44 | - | |
| 45 | - $.get(this.state_url, function(response) { | |
| 46 | - var select_html; | |
| 47 | - | |
| 48 | - if (response.length > 0) { | |
| 49 | - select_html = klass.generateSelect(response); | |
| 50 | - klass.replaceWith(select_html); | |
| 51 | - | |
| 52 | - if (klass.old_value.length !== 0 && response.include(klass.old_value)) { | |
| 53 | - klass.getCurrentStateElement().val(klass.old_value); | |
| 54 | - } | |
| 55 | - } | |
| 56 | - }); | |
| 57 | - }; | |
| 58 | - | |
| 59 | - | |
| 60 | - SelectFieldChoices.prototype.replaceStateWithInputElement = function() { | |
| 61 | - this.replaceWith(this.input_html); | |
| 62 | - }; | |
| 63 | - | |
| 64 | - | |
| 65 | - SelectFieldChoices.prototype.hideCity = function() { | |
| 66 | - this.city_parent_div.addClass("mpog_hidden_field"); | |
| 67 | - }; | |
| 68 | - | |
| 69 | - | |
| 70 | - SelectFieldChoices.prototype.showCity = function() { | |
| 71 | - this.city_parent_div.removeClass("mpog_hidden_field"); | |
| 72 | - }; | |
| 73 | - | |
| 74 | - | |
| 75 | - SelectFieldChoices.prototype.actualFieldIsInput = function() { | |
| 76 | - return this.getCurrentStateElement().attr("type") === "text"; | |
| 77 | - }; | |
| 78 | - | |
| 79 | - | |
| 80 | - return SelectFieldChoices; | |
| 81 | -}); |
public/lib/software-catalog-component.js
| ... | ... | @@ -1,38 +0,0 @@ |
| 1 | -modulejs.define('SoftwareCatalogComponent', ['jquery'], function($) { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - var dispatch_ajax_function; | |
| 5 | - | |
| 6 | - function clearCatalogCheckbox() { | |
| 7 | - $("#group-categories input:checked").each(function() { | |
| 8 | - $(this).prop('checked', false); | |
| 9 | - }); | |
| 10 | - | |
| 11 | - dispatch_ajax_function(true); | |
| 12 | - } | |
| 13 | - | |
| 14 | - | |
| 15 | - function selectCheckboxCategory(dispatch_ajax) { | |
| 16 | - dispatch_ajax_function(true); | |
| 17 | - } | |
| 18 | - | |
| 19 | - | |
| 20 | - function selectProjectSoftwareCheckbox() { | |
| 21 | - dispatch_ajax_function(true); | |
| 22 | - } | |
| 23 | - | |
| 24 | - | |
| 25 | - function set_events() { | |
| 26 | - $("#cleanup-filter-catalg").click(clearCatalogCheckbox); | |
| 27 | - $(".categories-catalog").click(selectCheckboxCategory); | |
| 28 | - $(".project-software").click(selectProjectSoftwareCheckbox); | |
| 29 | - } | |
| 30 | - | |
| 31 | - return { | |
| 32 | - init: function(dispatch_ajax) { | |
| 33 | - dispatch_ajax_function = dispatch_ajax; | |
| 34 | - set_events(); | |
| 35 | - }, | |
| 36 | - } | |
| 37 | -}); | |
| 38 | - |
public/static/databases.txt
| ... | ... | @@ -1,101 +0,0 @@ |
| 1 | -Accumulo | |
| 2 | -Adabas | |
| 3 | -Aerospike | |
| 4 | -AllegroGraph | |
| 5 | -Altibase | |
| 6 | -Berkeley DB | |
| 7 | -Caché | |
| 8 | -Cassandra | |
| 9 | -CloudSearch | |
| 10 | -Cloudant | |
| 11 | -Coherence | |
| 12 | -CouchDB | |
| 13 | -Couchbase | |
| 14 | -D3 | |
| 15 | -DB2 | |
| 16 | -DataEase | |
| 17 | -Datameer | |
| 18 | -Db4o | |
| 19 | -Derby | |
| 20 | -Drizzle | |
| 21 | -DynamoDB | |
| 22 | -Ehcache | |
| 23 | -Elasticsearch | |
| 24 | -Endeca | |
| 25 | -EnterpriseDB | |
| 26 | -FileMaker | |
| 27 | -Firebird | |
| 28 | -GemFire | |
| 29 | -Google BigQuery | |
| 30 | -Google Search Appliance | |
| 31 | -Greenplum | |
| 32 | -H2 | |
| 33 | -HBase | |
| 34 | -Hazelcast | |
| 35 | -Hive | |
| 36 | -HyperSQL | |
| 37 | -IDMS | |
| 38 | -IMS | |
| 39 | -Infinispan | |
| 40 | -Infobright | |
| 41 | -Informix | |
| 42 | -Ingres | |
| 43 | -Interbase | |
| 44 | -Jackrabbit | |
| 45 | -Jena | |
| 46 | -LevelDB | |
| 47 | -MariaDB | |
| 48 | -MarkLogic | |
| 49 | -MaxDB | |
| 50 | -MemSQL | |
| 51 | -Memcached | |
| 52 | -Microsoft Access | |
| 53 | -Microsoft Azure SQL Database | |
| 54 | -Microsoft SQL Server | |
| 55 | -Mnesia | |
| 56 | -MongoDB | |
| 57 | -MySQL | |
| 58 | -Neo4j | |
| 59 | -Netezza | |
| 60 | -NuoDB | |
| 61 | -ObjectStore | |
| 62 | -OpenEdge | |
| 63 | -Oracle | |
| 64 | -Oracle NoSQL | |
| 65 | -OrientDB | |
| 66 | -ParAccel | |
| 67 | -Percona Server | |
| 68 | -PostgreSQL | |
| 69 | -RavenDB | |
| 70 | -Red Brick | |
| 71 | -Redis | |
| 72 | -Redshift | |
| 73 | -RethinkDB | |
| 74 | -Riak | |
| 75 | -SAP HANA | |
| 76 | -SQL Anywhere | |
| 77 | -SQLite | |
| 78 | -Sedna | |
| 79 | -Sesame | |
| 80 | -SimpleDB | |
| 81 | -Solr | |
| 82 | -Sparksee | |
| 83 | -Sphinx | |
| 84 | -Splunk | |
| 85 | -Sybase ADS | |
| 86 | -Sybase ASE | |
| 87 | -Sybase IQ | |
| 88 | -Teradata | |
| 89 | -Teradata Aster | |
| 90 | -TimesTen | |
| 91 | -Titan | |
| 92 | -UniData | |
| 93 | -UniVerse | |
| 94 | -Versant Object Database | |
| 95 | -Vertica | |
| 96 | -Virtuoso | |
| 97 | -VoltDB | |
| 98 | -dBASE | |
| 99 | -jBASE | |
| 100 | -mSQL | |
| 101 | -Other | |
| 102 | 0 | \ No newline at end of file |
public/static/languages.txt
| ... | ... | @@ -1,101 +0,0 @@ |
| 1 | -ASP | |
| 2 | -ActionScript | |
| 3 | -Ada | |
| 4 | -Apex | |
| 5 | -AppleScript | |
| 6 | -Arduino | |
| 7 | -Assembly | |
| 8 | -AutoHotkey | |
| 9 | -AutoIt | |
| 10 | -Awk | |
| 11 | -BlitzBasic | |
| 12 | -C | |
| 13 | -C# | |
| 14 | -C++ | |
| 15 | -CSS | |
| 16 | -Clojure | |
| 17 | -CoffeeScript | |
| 18 | -ColdFusion | |
| 19 | -Common Lisp | |
| 20 | -Coq | |
| 21 | -Cuda | |
| 22 | -D | |
| 23 | -DCPU-16 ASM | |
| 24 | -DOT | |
| 25 | -Dart | |
| 26 | -Delphi | |
| 27 | -Eiffel | |
| 28 | -Elixir | |
| 29 | -Elm | |
| 30 | -Emacs Lisp | |
| 31 | -Erlang | |
| 32 | -F# | |
| 33 | -FORTRAN | |
| 34 | -Go | |
| 35 | -Gosu | |
| 36 | -Groovy | |
| 37 | -HaXe | |
| 38 | -Haskell | |
| 39 | -Haxe | |
| 40 | -IDL | |
| 41 | -Io | |
| 42 | -Java | |
| 43 | -JavaScript | |
| 44 | -Julia | |
| 45 | -Kotlin | |
| 46 | -Lasso | |
| 47 | -LiveScript | |
| 48 | -Logos | |
| 49 | -Lua | |
| 50 | -M | |
| 51 | -Matlab | |
| 52 | -Max | |
| 53 | -Nemerle | |
| 54 | -Nimrod | |
| 55 | -OCaml | |
| 56 | -Objective-C | |
| 57 | -Objective-C++ | |
| 58 | -Objective-J | |
| 59 | -OpenEdge ABL | |
| 60 | -PHP | |
| 61 | -Parrot | |
| 62 | -Pascal | |
| 63 | -Perl | |
| 64 | -PowerShell | |
| 65 | -Processing | |
| 66 | -Prolog | |
| 67 | -Puppet | |
| 68 | -Pure Data | |
| 69 | -PureScript | |
| 70 | -Python | |
| 71 | -R | |
| 72 | -Racket | |
| 73 | -Ruby | |
| 74 | -Rust | |
| 75 | -SQL | |
| 76 | -Scala | |
| 77 | -Scheme | |
| 78 | -Scilab | |
| 79 | -Shell | |
| 80 | -Slash | |
| 81 | -Smalltalk | |
| 82 | -Standard ML | |
| 83 | -SuperCollider | |
| 84 | -Swift | |
| 85 | -Tcl | |
| 86 | -TeX | |
| 87 | -TypeScript | |
| 88 | -UnrealScript | |
| 89 | -VHDL | |
| 90 | -Vala | |
| 91 | -Verilog | |
| 92 | -VimL | |
| 93 | -Visual Basic | |
| 94 | -XC | |
| 95 | -XML | |
| 96 | -XQuery | |
| 97 | -XSLT | |
| 98 | -Xtend | |
| 99 | -nesC | |
| 100 | -xBase | |
| 101 | -Other | |
| 102 | 0 | \ No newline at end of file |
public/static/licences.txt
| ... | ... | @@ -1,212 +0,0 @@ |
| 1 | -Academic Free License 3.0 (AFL-3.0) | |
| 2 | -http://www.openfoundry.org/en/licenses/753-academic-free-license-version-30-afl | |
| 3 | - | |
| 4 | -Affero GNU Public License (AGPL-3.0) | |
| 5 | -http://www.gnu.org/licenses/agpl-3.0.html | |
| 6 | - | |
| 7 | -Adaptive Public License (APL-1.0) | |
| 8 | -http://opensource.org/licenses/APL-1.0 | |
| 9 | - | |
| 10 | -Apache License 2.0 (Apache-2.0) | |
| 11 | -http://www.apache.org/licenses/LICENSE-2.0 | |
| 12 | - | |
| 13 | -Apple Public Source License (APSL-2.0) | |
| 14 | -http://www.opensource.apple.com/license/apsl/ | |
| 15 | - | |
| 16 | -Artistic license 2.0 (Artistic-2.0) | |
| 17 | -http://opensource.org/licenses/Artistic-2.0 | |
| 18 | - | |
| 19 | -Attribution Assurance Licenses (AAL) | |
| 20 | -http://opensource.org/licenses/AAL | |
| 21 | - | |
| 22 | -BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) | |
| 23 | -http://opensource.org/licenses/BSD-3-Clause | |
| 24 | - | |
| 25 | -BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause) | |
| 26 | -http://opensource.org/licenses/BSD-2-Clause | |
| 27 | - | |
| 28 | -Boost Software License (BSL-1.0) | |
| 29 | -http://www.boost.org/users/license.html | |
| 30 | - | |
| 31 | -Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1) | |
| 32 | -http://opensource.org/licenses/CATOSL-1.1 | |
| 33 | - | |
| 34 | -Common Development and Distribution License 1.0 (CDDL-1.0) | |
| 35 | -http://opensource.org/licenses/CDDL-1.0 | |
| 36 | - | |
| 37 | -Common Public Attribution License 1.0 (CPAL-1.0) | |
| 38 | -http://opensource.org/licenses/CPAL-1.0 | |
| 39 | - | |
| 40 | -CUA Office Public License Version 1.0 (CUA-OPL-1.0) | |
| 41 | -http://opensource.org/licenses/CUA-OPL-1.0 | |
| 42 | - | |
| 43 | -EU DataGrid Software License (EUDatagrid) | |
| 44 | -http://opensource.org/licenses/EUDatagrid | |
| 45 | - | |
| 46 | -Eclipse Public License 1.0 (EPL-1.0) | |
| 47 | -https://www.eclipse.org/legal/epl-v10.html | |
| 48 | - | |
| 49 | -Educational Community License, Version 2.0 (ECL-2.0) | |
| 50 | -http://opensource.org/licenses/ECL-2.0 | |
| 51 | - | |
| 52 | -Eiffel Forum License V2.0 (EFL-2.0) | |
| 53 | -http://opensource.org/licenses/EFL-2.0 | |
| 54 | - | |
| 55 | -Entessa Public License (Entessa) | |
| 56 | -http://opensource.org/licenses/entessa.php | |
| 57 | - | |
| 58 | -European Union Public License, Version 1.1 (EUPL-1.1) | |
| 59 | -http://ec.europa.eu/idabc/eupl.html | |
| 60 | - | |
| 61 | -Fair License (FAIR) | |
| 62 | -http://opensource.org/licenses/Fair | |
| 63 | - | |
| 64 | -Frameworx License (Frameworx-1.0) | |
| 65 | -http://opensource.org/licenses/Frameworx-1.0 | |
| 66 | - | |
| 67 | -GNU Affero General Public License v3 (AGPL-3.0) | |
| 68 | -http://www.gnu.org/licenses/agpl-3.0.html | |
| 69 | - | |
| 70 | -GNU General Public License version 2.0 (GPL-2.0) | |
| 71 | -http://www.gnu.org/licenses/gpl-2.0.html | |
| 72 | - | |
| 73 | -GNU General Public License version 3.0 (GPL-3.0) | |
| 74 | -http://www.gnu.org/copyleft/gpl.html | |
| 75 | - | |
| 76 | -GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) | |
| 77 | -https://www.gnu.org/licenses/lgpl-2.1.html | |
| 78 | - | |
| 79 | -GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0) | |
| 80 | -https://www.gnu.org/licenses/lgpl.html | |
| 81 | - | |
| 82 | -Historical Permission Notice and Disclaimer (HPND) | |
| 83 | -http://opensource.org/licenses/HPND | |
| 84 | - | |
| 85 | -IBM Public License 1.0 (IPL-1.0) | |
| 86 | -http://opensource.org/licenses/IPL-1.0 | |
| 87 | - | |
| 88 | -IPA Font License (IPA) | |
| 89 | -http://opensource.org/licenses/IPA | |
| 90 | - | |
| 91 | -ISC License (ISC) | |
| 92 | -#No-link-found | |
| 93 | - | |
| 94 | -LaTeX Project Public License 1.3c (LPPL-1.3c) | |
| 95 | -http://latex-project.org/lppl/lppl-1-3c.html | |
| 96 | - | |
| 97 | -Lucent Public License Version 1.02 (LPL-1.02) | |
| 98 | -http://opensource.org/licenses/LPL-1.02 | |
| 99 | - | |
| 100 | -MirOS Licence (MirOS) | |
| 101 | -http://opensource.org/licenses/MirOS | |
| 102 | - | |
| 103 | -Microsoft Public License (Ms-PL) | |
| 104 | -http://opensource.org/licenses/MS-PL | |
| 105 | - | |
| 106 | -Microsoft Reciprocal License (Ms-RL) | |
| 107 | -http://opensource.org/licenses/MS-RL | |
| 108 | - | |
| 109 | -MIT license (MIT) | |
| 110 | -http://opensource.org/licenses/MIT | |
| 111 | - | |
| 112 | -Motosoto License (Motosoto) | |
| 113 | -http://opensource.org/licenses/Motosoto | |
| 114 | - | |
| 115 | -Mozilla Public License 2.0 (MPL-2.0) | |
| 116 | -https://www.mozilla.org/MPL/2.0/ | |
| 117 | - | |
| 118 | -Multics License (Multics) | |
| 119 | -http://opensource.org/licenses/Multics | |
| 120 | - | |
| 121 | -NASA Open Source Agreement 1.3 (NASA 1.3) | |
| 122 | -http://worldwind.arc.nasa.gov/worldwind-nosa-1.3.html | |
| 123 | - | |
| 124 | -NTP License (NTP) | |
| 125 | -http://opensource.org/licenses/NTP | |
| 126 | - | |
| 127 | -Naumen Public License (Naumen) | |
| 128 | -http://opensource.org/licenses/Naumen | |
| 129 | - | |
| 130 | -Nethack General Public License (NGPL) | |
| 131 | -http://www.nethack.org/common/license.html | |
| 132 | - | |
| 133 | -Nokia Open Source License (Nokia) | |
| 134 | -http://opensource.org/licenses/nokia.php | |
| 135 | - | |
| 136 | -Non-Profit Open Software License 3.0 (NPOSL-3.0) | |
| 137 | -http://opensource.org/licenses/NPOSL-3.0 | |
| 138 | - | |
| 139 | -OCLC Research Public License 2.0 (OCLC-2.0) | |
| 140 | -http://opensource.org/licenses/OCLC-2.0 | |
| 141 | - | |
| 142 | -Open Font License 1.1 (OFL 1.1) | |
| 143 | -http://opensource.org/licenses/OFL-1.1 | |
| 144 | - | |
| 145 | -Open Group Test Suite License (OGTSL) | |
| 146 | -http://opensource.org/licenses/OGTSL | |
| 147 | - | |
| 148 | -Open Software License 3.0 (OSL-3.0) | |
| 149 | -http://opensource.org/licenses/OSL-3.0 | |
| 150 | - | |
| 151 | -PHP License v3.0 (PHP-3.0) | |
| 152 | -http://php.net/license/3_0.txt | |
| 153 | - | |
| 154 | -PHP License v3.01 (PHP 4, PHP 5) | |
| 155 | -http://php.net/license/3_01.txt | |
| 156 | - | |
| 157 | -The PostgreSQL License (PostgreSQL) | |
| 158 | -http://www.postgresql.org/about/licence/ | |
| 159 | - | |
| 160 | -Python License (Python-2.0) | |
| 161 | -http://opensource.org/licenses/Python-2.0 | |
| 162 | - | |
| 163 | -CNRI Python license (CNRI-Python) | |
| 164 | -http://www.openfoundry.org/en/licenses/35-python-license-python | |
| 165 | - | |
| 166 | -Q Public License (QPL-1.0) | |
| 167 | -http://opensource.org/licenses/QPL-1.0 | |
| 168 | - | |
| 169 | -RealNetworks Public Source License V1.0 (RPSL-1.0) | |
| 170 | -http://opensource.org/licenses/RPSL-1.0 | |
| 171 | - | |
| 172 | -Reciprocal Public License 1.5 (RPL-1.5) | |
| 173 | -http://opensource.org/licenses/RPL-1.5 | |
| 174 | - | |
| 175 | -Ricoh Source Code Public License (RSCPL) | |
| 176 | -http://opensource.org/licenses/RSCPL | |
| 177 | - | |
| 178 | -Simple Public License 2.0 (SimPL-2.0) | |
| 179 | -http://opensource.org/licenses/Simple-2.0 | |
| 180 | - | |
| 181 | -Sleepycat License (Sleepycat) | |
| 182 | -http://opensource.org/licenses/Sleepycat | |
| 183 | - | |
| 184 | -Sun Public License 1.0 (SPL-1.0) | |
| 185 | -http://opensource.org/licenses/SPL-1.0 | |
| 186 | - | |
| 187 | -Sybase Open Watcom Public License 1.0 (Watcom-1.0) | |
| 188 | -http://www.openwatcom.org/index.php/Open_Watcom_Public_License | |
| 189 | - | |
| 190 | -University of Illinois/NCSA Open Source License (NCSA) | |
| 191 | -http://otm.illinois.edu/uiuc_openSource | |
| 192 | - | |
| 193 | -Vovida Software License v. 1.0 (VSL-1.0) | |
| 194 | -http://opensource.org/licenses/VSL-1.0 | |
| 195 | - | |
| 196 | -W3C License (W3C) | |
| 197 | -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 | |
| 198 | - | |
| 199 | -wxWindows Library License (WXwindows) | |
| 200 | -https://www.wxwidgets.org/about/licence/ | |
| 201 | - | |
| 202 | -X.Net License (Xnet) | |
| 203 | -http://opensource.org/licenses/xnet.php | |
| 204 | - | |
| 205 | -Zope Public License 2.0 (ZPL-2.0) | |
| 206 | -http://opensource.org/licenses/ZPL-2.0 | |
| 207 | - | |
| 208 | -zlib/libpng license (Zlib) | |
| 209 | -http://www.openfoundry.org/en/licenses/36-zliblibpng-license-zliblibpng | |
| 210 | - | |
| 211 | -Another | |
| 212 | -# | |
| 213 | 0 | \ No newline at end of file |
public/static/operating_systems.txt
public/style.css
| ... | ... | @@ -1,112 +0,0 @@ |
| 1 | -.mpog_hidden_field { | |
| 2 | - display: none; | |
| 3 | -} | |
| 4 | - | |
| 5 | -.dynamic-table { | |
| 6 | - border: solid 1px #000; | |
| 7 | - margin-top: 5px; | |
| 8 | - margin-bottom: 15px; | |
| 9 | -} | |
| 10 | -.dynamic-table td, .dynamic-table tr { | |
| 11 | - border: none; | |
| 12 | -} | |
| 13 | -.dynamic-table input { | |
| 14 | - width: 220px; | |
| 15 | -} | |
| 16 | - | |
| 17 | -#institution_dialog { | |
| 18 | - display: none; | |
| 19 | -} | |
| 20 | - | |
| 21 | -.errorExplanation { | |
| 22 | - color: red; | |
| 23 | - margin-left: 10px; | |
| 24 | -} | |
| 25 | - | |
| 26 | -.hide-field { | |
| 27 | - display: none !important; | |
| 28 | -} | |
| 29 | - | |
| 30 | -.show-field { | |
| 31 | - display: block !important; | |
| 32 | -} | |
| 33 | - | |
| 34 | -.formfieldline { | |
| 35 | - margin-top: 10px; | |
| 36 | -} | |
| 37 | -.formfieldline input[type="text"] { | |
| 38 | - width: 180px; | |
| 39 | -} | |
| 40 | - | |
| 41 | -#profile-data .invalid { | |
| 42 | - border-color: rgb(127, 0, 0); | |
| 43 | - box-shadow: 0px 0px 7px red; | |
| 44 | -} | |
| 45 | - | |
| 46 | -#profile-data .validated { | |
| 47 | - box-shadow: 0px 0px 7px green; | |
| 48 | - border-color: rgb(0, 80, 0); | |
| 49 | -} | |
| 50 | - | |
| 51 | -#software-name-field { | |
| 52 | - padding-bottom: 10px; | |
| 53 | -} | |
| 54 | - | |
| 55 | -#software-hostname { | |
| 56 | - padding: 0px 7px; | |
| 57 | - font-size: 18px; | |
| 58 | -} | |
| 59 | - | |
| 60 | -.mandatory::after { | |
| 61 | - color: red; | |
| 62 | - content: ' (*)'; | |
| 63 | -} | |
| 64 | - | |
| 65 | -.autocomplete_validation_message { | |
| 66 | - color: red; | |
| 67 | -} | |
| 68 | - | |
| 69 | -#content .softwares-block ul { | |
| 70 | - min-width: 196px; | |
| 71 | - width: 192px; | |
| 72 | - margin: 0px 0px 0px -3px; | |
| 73 | - padding: 0px; | |
| 74 | -} | |
| 75 | - | |
| 76 | -#content .box-1 .softwares-block ul { | |
| 77 | - width: auto; | |
| 78 | - display: block; | |
| 79 | -} | |
| 80 | - | |
| 81 | -#content .softwares-block .block-footer-content a { | |
| 82 | - background: url(../../../designs/themes/base/imgs/arrow-right-p.png) 100% 50% no-repeat; | |
| 83 | -} | |
| 84 | - | |
| 85 | -/*FIX-ME: necessary while there is | |
| 86 | -* not a defined theme style for the | |
| 87 | -* forms */ | |
| 88 | -.improve_input_size { | |
| 89 | - width: 315px !important; | |
| 90 | -} | |
| 91 | - | |
| 92 | -.software-block { | |
| 93 | - position: relative; | |
| 94 | - float: left; | |
| 95 | - overflow: hidden; | |
| 96 | -} | |
| 97 | - | |
| 98 | -.software-block-content, .software-block-finality { | |
| 99 | - width: 100%; | |
| 100 | - position: absolute; | |
| 101 | -} | |
| 102 | - | |
| 103 | -/*===== Communities rate hotspot extra fields =====*/ | |
| 104 | - | |
| 105 | -.comments-software-extra-fields div { | |
| 106 | - display: none; | |
| 107 | -} | |
| 108 | - | |
| 109 | -#content .star-rate-form .star-comment-container .comments-display-fields { | |
| 110 | - cursor: pointer; | |
| 111 | -} | |
| 112 | - |
public/vendor/jquery.js
public/vendor/jquery.maskedinput.min.js
| ... | ... | @@ -1,7 +0,0 @@ |
| 1 | -/* | |
| 2 | - Masked Input plugin for jQuery | |
| 3 | - Copyright (c) 2007-2013 Josh Bush (digitalbush.com) | |
| 4 | - Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) | |
| 5 | - Version: 1.3.1 | |
| 6 | -*/ | |
| 7 | -(function(e){function t(){var e=document.createElement("input"),t="onpaste";return e.setAttribute(t,""),"function"==typeof e[t]?"paste":"input"}var n,a=t()+".mask",r=navigator.userAgent,i=/iphone/i.test(r),o=/android/i.test(r);e.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},dataName:"rawMaskFn",placeholder:"_"},e.fn.extend({caret:function(e,t){var n;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof e?(t="number"==typeof t?t:e,this.each(function(){this.setSelectionRange?this.setSelectionRange(e,t):this.createTextRange&&(n=this.createTextRange(),n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select())})):(this[0].setSelectionRange?(e=this[0].selectionStart,t=this[0].selectionEnd):document.selection&&document.selection.createRange&&(n=document.selection.createRange(),e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length),{begin:e,end:t})},unmask:function(){return this.trigger("unmask")},mask:function(t,r){var c,l,s,u,f,h;return!t&&this.length>0?(c=e(this[0]),c.data(e.mask.dataName)()):(r=e.extend({placeholder:e.mask.placeholder,completed:null},r),l=e.mask.definitions,s=[],u=h=t.length,f=null,e.each(t.split(""),function(e,t){"?"==t?(h--,u=e):l[t]?(s.push(RegExp(l[t])),null===f&&(f=s.length-1)):s.push(null)}),this.trigger("unmask").each(function(){function c(e){for(;h>++e&&!s[e];);return e}function d(e){for(;--e>=0&&!s[e];);return e}function m(e,t){var n,a;if(!(0>e)){for(n=e,a=c(t);h>n;n++)if(s[n]){if(!(h>a&&s[n].test(R[a])))break;R[n]=R[a],R[a]=r.placeholder,a=c(a)}b(),x.caret(Math.max(f,e))}}function p(e){var t,n,a,i;for(t=e,n=r.placeholder;h>t;t++)if(s[t]){if(a=c(t),i=R[t],R[t]=n,!(h>a&&s[a].test(i)))break;n=i}}function g(e){var t,n,a,r=e.which;8===r||46===r||i&&127===r?(t=x.caret(),n=t.begin,a=t.end,0===a-n&&(n=46!==r?d(n):a=c(n-1),a=46===r?c(a):a),k(n,a),m(n,a-1),e.preventDefault()):27==r&&(x.val(S),x.caret(0,y()),e.preventDefault())}function v(t){var n,a,i,l=t.which,u=x.caret();t.ctrlKey||t.altKey||t.metaKey||32>l||l&&(0!==u.end-u.begin&&(k(u.begin,u.end),m(u.begin,u.end-1)),n=c(u.begin-1),h>n&&(a=String.fromCharCode(l),s[n].test(a)&&(p(n),R[n]=a,b(),i=c(n),o?setTimeout(e.proxy(e.fn.caret,x,i),0):x.caret(i),r.completed&&i>=h&&r.completed.call(x))),t.preventDefault())}function k(e,t){var n;for(n=e;t>n&&h>n;n++)s[n]&&(R[n]=r.placeholder)}function b(){x.val(R.join(""))}function y(e){var t,n,a=x.val(),i=-1;for(t=0,pos=0;h>t;t++)if(s[t]){for(R[t]=r.placeholder;pos++<a.length;)if(n=a.charAt(pos-1),s[t].test(n)){R[t]=n,i=t;break}if(pos>a.length)break}else R[t]===a.charAt(pos)&&t!==u&&(pos++,i=t);return e?b():u>i+1?(x.val(""),k(0,h)):(b(),x.val(x.val().substring(0,i+1))),u?t:f}var x=e(this),R=e.map(t.split(""),function(e){return"?"!=e?l[e]?r.placeholder:e:void 0}),S=x.val();x.data(e.mask.dataName,function(){return e.map(R,function(e,t){return s[t]&&e!=r.placeholder?e:null}).join("")}),x.attr("readonly")||x.one("unmask",function(){x.unbind(".mask").removeData(e.mask.dataName)}).bind("focus.mask",function(){clearTimeout(n);var e;S=x.val(),e=y(),n=setTimeout(function(){b(),e==t.length?x.caret(0,e):x.caret(e)},10)}).bind("blur.mask",function(){y(),x.val()!=S&&x.change()}).bind("keydown.mask",g).bind("keypress.mask",v).bind(a,function(){setTimeout(function(){var e=y(!0);x.caret(e),r.completed&&e==x.val().length&&r.completed.call(x)},0)}),y()}))}})})(jQuery); | |
| 8 | 0 | \ No newline at end of file |
public/vendor/modulejs-1.5.0.min.js
| ... | ... | @@ -1,2 +0,0 @@ |
| 1 | -/* modulejs 1.5.0 - http://larsjung.de/modulejs/ */ | |
| 2 | -!function(n){this.modulejs=n()}(function(){"use strict";function n(n){return function(r){return l.toString.call(r)==="[object "+n+"]"}}function r(n){return n===new Object(n)}function t(n,r){return l.hasOwnProperty.call(n,r)}function e(n,r,e){if(p&&n.forEach===p)n.forEach(r,e);else if(n.length===+n.length)for(var i=0,o=n.length;o>i;i+=1)r.call(e,n[i],i,n);else for(var u in n)t(n,u)&&r.call(e,n[u],u,n)}function i(n,r){for(var t=0,e=n.length;e>t;t+=1)if(n[t]===r)return!0;return!1}function o(n){var r={},i=[];return e(n,function(n){t(r,n)||(i.push(n),r[n]=1)}),i}function u(n,r,t){if(n){var e=new Error("[modulejs-"+r+"] "+t);throw e.code=r,e}}function c(n,r,a){if(u(!h(n),31,'id must be a string "'+n+'"'),!r&&t(b,n))return b[n];var f=y[n];u(!f,32,'id not defined "'+n+'"'),a=(a||[]).slice(0),a.push(n);var s=[];if(e(f.deps,function(n){u(i(a,n),33,"circular dependencies: "+a+" & "+n),r?(s=s.concat(c(n,r,a)),s.push(n)):s.push(c(n,r,a))}),r)return o(s);var d=f.fn.apply(void 0,s);return b[n]=d,d}function a(n,t,e){void 0===e&&(e=t,t=[]),u(!h(n),11,'id must be a string "'+n+'"'),u(y[n],12,'id already defined "'+n+'"'),u(!g(t),13,'dependencies for "'+n+'" must be an array "'+t+'"'),u(!r(e)&&!v(e),14,'arg for "'+n+'" must be object or function "'+e+'"'),y[n]={id:n,deps:t,fn:v(e)?e:function(){return e}}}function f(n){return c(n)}function s(){var n={};return e(y,function(r,e){n[e]={deps:r.deps.slice(0),reqs:c(e,!0),init:t(b,e)}}),e(y,function(r,t){var o=[];e(y,function(r,e){i(n[e].reqs,t)&&o.push(e)}),n[t].reqd=o}),n}function d(n){var r="\n";return e(s(),function(t,e){var i=n?t.reqd:t.reqs;r+=(t.init?"* ":" ")+e+" -> [ "+i.join(", ")+" ]\n"}),r}var l=Object.prototype,p=Array.prototype.forEach,h=n("String"),v=n("Function"),g=Array.isArray||n("Array"),y={},b={};return{define:a,require:f,state:s,log:d,_private:{isString:h,isFunction:v,isArray:g,isObject:r,has:t,each:e,contains:i,uniq:o,err:u,definitions:y,instances:b,resolve:c}}}); | |
| 3 | 0 | \ No newline at end of file |
public/views/comments-software-extra-fields.js
| ... | ... | @@ -1,30 +0,0 @@ |
| 1 | -modulejs.define('CommentsSoftwareExtraFields', ['jquery'], function($) { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - var DATA = { | |
| 5 | - information_display_state: "hidden" | |
| 6 | - } | |
| 7 | - | |
| 8 | - function set_show_additional_information() { | |
| 9 | - $(".comments-display-fields").on("click", function() { | |
| 10 | - if (DATA.information_display_state === "hidden") { | |
| 11 | - DATA.information_display_state = "show"; | |
| 12 | - $(".comments-software-extra-fields div").show(); | |
| 13 | - } else { | |
| 14 | - DATA.information_display_state = "hidden"; | |
| 15 | - $(".comments-software-extra-fields div").hide(); | |
| 16 | - } | |
| 17 | - }); | |
| 18 | - } | |
| 19 | - | |
| 20 | - return { | |
| 21 | - isCurrentPage: function() { | |
| 22 | - return $(".star-rate-form").length === 1; | |
| 23 | - }, | |
| 24 | - | |
| 25 | - | |
| 26 | - init: function() { | |
| 27 | - set_show_additional_information(); | |
| 28 | - } | |
| 29 | - } | |
| 30 | -}); |
public/views/control-panel.js
| ... | ... | @@ -1,31 +0,0 @@ |
| 1 | -modulejs.define('ControlPanel', ['jquery'], function($) { | |
| 2 | - 'use strict'; | |
| 3 | - | |
| 4 | - function add_software_on_control_panel(control_panel) { | |
| 5 | - var software_link = $(".control-panel-software-link").remove(); | |
| 6 | - | |
| 7 | - if( software_link.size() > 0 ) { | |
| 8 | - control_panel.prepend(software_link); | |
| 9 | - } | |
| 10 | - } | |
| 11 | - | |
| 12 | - function add_itens_on_controla_panel() { | |
| 13 | - var control_panel = $(".control-panel"); | |
| 14 | - | |
| 15 | - if( control_panel.size() > 0 ) { | |
| 16 | - add_software_on_control_panel(control_panel); | |
| 17 | - } | |
| 18 | - } | |
| 19 | - | |
| 20 | - | |
| 21 | - return { | |
| 22 | - isCurrentPage: function() { | |
| 23 | - return $("#profile-editor-index").length === 1; | |
| 24 | - }, | |
| 25 | - | |
| 26 | - | |
| 27 | - init: function() { | |
| 28 | - add_itens_on_controla_panel(); | |
| 29 | - } | |
| 30 | - } | |
| 31 | -}); |