Commit efb994a0b620edea70f552af4cef3afb2fb205e9

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

Remove institution dead code

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
bin/update_institutions
@@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
1 -#!/usr/bin/env ruby  
2 -# encoding: utf-8  
3 -require "net/http"  
4 -include InstitutionHelper  
5 -  
6 -InstitutionHelper.mass_update  
config/institutions_update.example
@@ -1,4 +0,0 @@ @@ -1,4 +0,0 @@
1 -# This file is an example for a crontab file used to update insitutions from  
2 -# the web service, SIORG.  
3 -  
4 -@weekly root cd /usr/share/noosfero && rails runner plugins/mpog_software/bin/update_institutions  
config/siorg.yml
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -web_service:  
2 - base_url: http://estruturaorganizacional.dados.gov.br/doc/estrutura-organizacional/resumida.json  
3 - sphere_codes:  
4 - federal: 1  
5 - power_codes:  
6 - executive: 1  
7 - legislative: 2  
8 - judiciary: 3  
9 - additional_params: retornarOrgaoEntidadeVinculados=NAO  
10 - environment_name: Noosfero  
11 - default_community_admin: adminuser  
12 \ No newline at end of file 0 \ No newline at end of file
lib/institution_helper.rb
@@ -1,106 +0,0 @@ @@ -1,106 +0,0 @@
1 -require "net/http"  
2 -require "yaml"  
3 -  
4 -module InstitutionHelper  
5 -  
6 - SPHERES = ['federal']  
7 - POWERS = ['executive', 'legislative', 'judiciary']  
8 -  
9 - def self.mass_update  
10 - @web_service_info = self.web_service_info  
11 -  
12 - environment = Environment.find_by_name(@web_service_info["environment_name"])  
13 -  
14 - if environment.nil?  
15 - return  
16 - end  
17 -  
18 - admin = environment.people.find_by_name(@web_service_info["default_community_admin"])  
19 -  
20 - if admin.nil?  
21 - return  
22 - end  
23 -  
24 - POWERS.each do |power|  
25 - SPHERES.each do |sphere|  
26 - json = self.get_json power, sphere  
27 -  
28 - units = json["unidades"]  
29 -  
30 - units.each do |unit|  
31 - institution = PublicInstitution.where(:name=>unit["nome"])  
32 -  
33 - institution = if institution.count == 0  
34 - PublicInstitution::new  
35 - else  
36 - institution.first  
37 - end  
38 -  
39 - institution = self.set_institution_data institution, unit  
40 - institution.save  
41 - institution.community.add_admin(admin)  
42 - end  
43 - end  
44 - end  
45 - end  
46 -  
47 - def self.register_institution_modification institution  
48 - institution.date_modification = current_date  
49 - institution.save  
50 - end  
51 -  
52 - protected  
53 -  
54 - def self.web_service_info  
55 - YAML.load_file(File.dirname(__FILE__) + '/../config/siorg.yml')['web_service']  
56 - end  
57 -  
58 - def self.service_url power, sphere  
59 - base_url = @web_service_info['base_url']  
60 - power_code = @web_service_info['power_codes'][power].to_s  
61 - sphere_code = @web_service_info['sphere_codes'][sphere].to_s  
62 - additional_params = @web_service_info['additional_params']  
63 -  
64 - return URI("#{base_url}?codigoPoder=#{power_code}&codigoEsfera=#{sphere_code}&#{additional_params}")  
65 - end  
66 -  
67 - def self.get_json power, sphere  
68 - uri = self.service_url power, sphere #URI(BASE_URL+"codigoPoder=#{power_code}&codigoEsfera=#{sphere_code}&retornarOrgaoEntidadeVinculados=NAO")  
69 - data = Net::HTTP.get(uri)  
70 - ActiveSupport::JSON.decode(data)  
71 - end  
72 -  
73 - def self.retrieve_code unit, field  
74 - data = unit[field]  
75 - return data.split("/").last unless (data.blank? || data.nil?)  
76 - return nil  
77 - end  
78 -  
79 - def self.set_institution_data institution, unit  
80 -  
81 - community = if Community.where(:name=>unit["nome"]).length != 0  
82 - Community.where(:name=>unit["nome"]).first  
83 - else  
84 - Community.new :name=>unit["nome"]  
85 - end  
86 -  
87 - institution.community = community  
88 - institution.name = unit["nome"]  
89 - institution.acronym = unit["sigla"]  
90 - institution.unit_code = self.retrieve_code(unit,"codigoUnidade")  
91 - institution.parent_code = self.retrieve_code(unit,"codigoUnidadePai")  
92 - institution.unit_type = self.retrieve_code(unit,"codigoTipoUnidade")  
93 - institution.juridical_nature = JuridicalNature.where(:name=>self.retrieve_code(unit,"codigoNaturezaJuridica").titleize).first  
94 - institution.sub_juridical_nature = self.retrieve_code(unit,"codigoSubNaturezaJuridica")  
95 - institution.normalization_level = unit["nivelNormatizacao"]  
96 - institution.version = unit["versaoConsulta"]  
97 - institution.governmental_power = GovernmentalPower.where(:name=>self.retrieve_code(unit,"codigoPoder").capitalize).first  
98 - institution.governmental_sphere = GovernmentalSphere.where(:name=>self.retrieve_code(unit,"codigoEsfera").capitalize).first  
99 - institution  
100 - end  
101 -  
102 - def self.current_date  
103 - date = Time.now.day.to_s + "/" + Time.now.month.to_s + "/" + Time.now.year.to_s  
104 - date  
105 - end  
106 -end  
test/integration/institution_helper_test.rb
@@ -1,25 +0,0 @@ @@ -1,25 +0,0 @@
1 -require File.dirname(__FILE__) + '/../../../../test/test_helper'  
2 -  
3 -class InstitutionHelperTest < ActionController::IntegrationTest  
4 -  
5 - def setup  
6 - admin = create_user("test_admin").person  
7 - admin.stubs(:has_permission?).returns("true")  
8 -  
9 - @environment = Environment.default  
10 - @environment.enabled_plugins = ['MpogSoftwarePlugin']  
11 - @environment.add_admin(admin)  
12 - @environment.name = "test_environment"  
13 - @environment.save  
14 - end  
15 -  
16 - should "not proceed with SIORG script if environment name isn't the informed" do  
17 - assert !InstitutionHelper.mass_update, "Should not find the environment."  
18 - end  
19 - should "not proceed with SIORG script if admin name isn't the informed" do  
20 - @environment.name = "Noosfero"  
21 - @environment.save  
22 -  
23 - assert !InstitutionHelper.mass_update, "Could not find the admin."  
24 - end  
25 -end