From fc1161f0b9295e609c43f65dda016bb2d3272aa8 Mon Sep 17 00:00:00 2001 From: Luciano Prestes Cavalcanti Date: Mon, 18 Aug 2014 10:15:59 -0400 Subject: [PATCH] Create new Institution's attribute to register the last modification date --- controllers/mpog_software_plugin_controller.rb | 3 +++ db/migrate/20140815194530_register_institution_modification.rb | 6 ++++++ lib/institution_helper.rb | 9 +++++++++ lib/mpog_software_plugin.rb | 2 ++ test/unit/institution_helper_test.rb | 26 ++++++++++++++++++++++++++ views/profile/_institution_tab.html.erb | 1 + 6 files changed, 47 insertions(+), 0 deletions(-) create mode 100644 test/unit/institution_helper_test.rb diff --git a/controllers/mpog_software_plugin_controller.rb b/controllers/mpog_software_plugin_controller.rb index a76004d..aa20096 100644 --- a/controllers/mpog_software_plugin_controller.rb +++ b/controllers/mpog_software_plugin_controller.rb @@ -1,5 +1,6 @@ require 'csv' class MpogSoftwarePluginController < ApplicationController + include InstitutionHelper def archive_software per_page = 10 @@ -158,6 +159,8 @@ class MpogSoftwarePluginController < ApplicationController institution.name = community[:name] institution.community = community + InstitutionHelper.register_institution_modification institution + if institution.type == "PublicInstitution" begin govPower = GovernmentalPower.find params[:governmental][:power] diff --git a/db/migrate/20140815194530_register_institution_modification.rb b/db/migrate/20140815194530_register_institution_modification.rb index c0d868e..3183ec0 100644 --- a/db/migrate/20140815194530_register_institution_modification.rb +++ b/db/migrate/20140815194530_register_institution_modification.rb @@ -1,7 +1,13 @@ class RegisterInstitutionModification < ActiveRecord::Migration def up + change_table :institutions do |t| + t.string :date_modification + end end def down + change_table :institutions do |t| + t.remove :date_modification + end end end diff --git a/lib/institution_helper.rb b/lib/institution_helper.rb index ae4881d..7be5e68 100644 --- a/lib/institution_helper.rb +++ b/lib/institution_helper.rb @@ -47,6 +47,10 @@ module InstitutionHelper end end + def self.register_institution_modification institution + institution.date_modification = current_date + end + protected def self.web_service_info @@ -96,4 +100,9 @@ module InstitutionHelper institution.governmental_sphere = GovernmentalSphere.where(:name=>self.retrieve_code(unit,"codigoEsfera")).first institution end + + def self.current_date + date = Time.now.day.to_s + "/" + Time.now.month.to_s + "/" + Time.now.year.to_s + date + end end diff --git a/lib/mpog_software_plugin.rb b/lib/mpog_software_plugin.rb index 38e1bde..2e298e3 100644 --- a/lib/mpog_software_plugin.rb +++ b/lib/mpog_software_plugin.rb @@ -6,6 +6,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin include ActionView::Helpers::AssetTagHelper include FormsHelper include LibraryHelper + include InstitutionHelper def self.plugin_name "MpogSoftwarePlugin" @@ -246,6 +247,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin def institution_transaction if context.params.has_key?(:governmental_power) context.profile.institution.governmental_power_id = context.params[:governmental_power] + InstitutionHelper.register_institution_modification context.profile.institution context.profile.institution.save! end diff --git a/test/unit/institution_helper_test.rb b/test/unit/institution_helper_test.rb new file mode 100644 index 0000000..2ff2f1c --- /dev/null +++ b/test/unit/institution_helper_test.rb @@ -0,0 +1,26 @@ +require File.dirname(__FILE__) + '/../../../../test/test_helper' + +class InstitutionHelperTest < ActiveSupport::TestCase + + should "populate public institutions with data from SIORG" do + Institution.destroy_all + + InstitutionHelper.mass_update + + assert Institution.count != 0 + end + + should "receive json data from SIORG" do + data = InstitutionHelper.get_json(2, 1) + + assert data["unidades"].count != 0 + end + + should "update Institution's date modification when edit the Institution" do + institution = Institution.new + InstitutionHelper.register_institution_modification institution + date = Time.now.day.to_s + "/" + Time.now.month.to_s + "/" + Time.now.year.to_s + + assert_equal date, institution.date_modification + end +end diff --git a/views/profile/_institution_tab.html.erb b/views/profile/_institution_tab.html.erb index c2183a0..72beb4f 100644 --- a/views/profile/_institution_tab.html.erb +++ b/views/profile/_institution_tab.html.erb @@ -5,6 +5,7 @@ <%= display_field(_('Type:'), profile.institution, :type, true) %> <%= display_field(_('CNPJ:'), profile.institution, :cnpj, true) %> + <%= display_field(_('Last modification:'), profile.institution, :date_modification, true) %> <% if profile.institution.type == "PrivateInstitution"%> <%= display_field(_('Fantasy Name:'), profile.institution, :acronym, true) %> <% else %> -- libgit2 0.21.2