diff --git a/controllers/software_communities_plugin_controller.rb b/controllers/software_communities_plugin_controller.rb index 71150a1..8667a85 100644 --- a/controllers/software_communities_plugin_controller.rb +++ b/controllers/software_communities_plugin_controller.rb @@ -1,110 +1,7 @@ +# apenas software require 'csv' class SoftwareCommunitiesPluginController < ApplicationController - def hide_registration_incomplete_percentage - response = false - - if request.xhr? && params[:hide] - session[:hide_incomplete_percentage] = true - response = session[:hide_incomplete_percentage] - end - - render :json=>response.to_json - end - - def create_institution - @show_sisp_field = environment.admins.include?(current_user.person) - @state_list = get_state_list() - - if request.xhr? - render :layout=>false - else - redirect_to "/" - end - end - - def split_http_referer http_referer - split_list = [] - split_list = http_referer.split("/") - @url_token = split_list.last - return @url_token - end - - def create_institution_admin - @show_sisp_field = environment.admins.include?(current_user.person) - @state_list = get_state_list() - - @url_token = split_http_referer request.original_url() - end - - def new_institution - redirect_to "/" if params[:community].blank? || params[:institutions].blank? - - response_message = {} - - institution_template = Community["institution"] - add_template_in_params institution_template - - institution = private_create_institution - add_environment_admins_to_institution institution - - response_message = save_institution institution - - if request.xhr? #User create institution - render :json => response_message.to_json - else #Admin create institution - session[:notice] = response_message[:message] # consume the notice - - redirect_depending_on_institution_creation response_message - end - end - - def institution_already_exists - redirect_to "/" if !request.xhr? || params[:name].blank? - - already_exists = !Community.where(:name=>params[:name]).empty? - - render :json=>already_exists.to_json - end - - def get_institutions - redirect_to "/" if !request.xhr? || params[:query].blank? - - list = Institution.search_institution(params[:query]).map{ |institution| - {:value=>institution.name, :id=>institution.id} - } - - render :json => list.to_json - end - - def get_brazil_states - redirect_to "/" unless request.xhr? - - state_list = get_state_list() - render :json=>state_list.collect {|state| state.name }.to_json - end - - def get_field_data - condition = !request.xhr? || params[:query].nil? || params[:field].nil? - return render :json=>{} if condition - - model = get_model_by_params_field - - data = model.where("name ILIKE ?", "%#{params[:query]}%").select("id, name") - .collect { |db| - {:id=>db.id, :label=>db.name} - } - - other = [model.select("id, name").last].collect { |db| - {:id=>db.id, :label=>db.name} - } - - # Always has other in the list - data |= other - - render :json=> data - end - def get_license_data return render :json=>{} if !request.xhr? || params[:query].nil? @@ -125,106 +22,6 @@ class SoftwareCommunitiesPluginController < ApplicationController protected - def get_state_list - NationalRegion.find( - :all, - :conditions=>["national_region_type_id = ?", 2], - :order=>"name" - ) - end - - def set_institution_type - institution_params = params[:institutions].except( - :governmental_power, - :governmental_sphere, - :juridical_nature - ) - if params[:institutions][:type] == "PublicInstitution" - PublicInstitution::new institution_params - else - PrivateInstitution::new institution_params - end - end - - def set_public_institution_fields institution - inst_fields = params[:institutions] - - begin - gov_power = GovernmentalPower.find inst_fields[:governmental_power] - gov_sphere = GovernmentalSphere.find inst_fields[:governmental_sphere] - jur_nature = JuridicalNature.find inst_fields[:juridical_nature] - - institution.juridical_nature = jur_nature - institution.governmental_power = gov_power - institution.governmental_sphere = gov_sphere - rescue - institution.errors.add( - :governmental_fields, - _("Could not find Governmental Power or Governmental Sphere") - ) - end - end - - def private_create_institution - community = Community.new(params[:community]) - community.environment = environment - institution = set_institution_type - - institution.name = community[:name] - institution.community = community - - if institution.type == "PublicInstitution" - set_public_institution_fields institution - end - - institution.date_modification = DateTime.now - institution.save - - institution - end - - def add_template_in_params institution_template - com_fields = params[:community] - if !institution_template.blank? && institution_template.is_template - com_fields[:template_id]= institution_template.id unless com_fields.blank? - end - end - - def add_environment_admins_to_institution institution - edit_page = params[:edit_institution_page] == false - if environment.admins.include?(current_user.person) && edit_page - environment.admins.each do |adm| - institution.community.add_admin(adm) - end - end - end - - def save_institution institution - inst_errors = institution.errors.full_messages - com_errors = institution.community.errors.full_messages - - if inst_errors.empty? && com_errors.empty? && institution.valid? && institution.save - { :success => true, - :message => _("Institution successful created!"), - :institution_data => {:name=>institution.name, :id=>institution.id} - } - else - { :success => false, - :message => _("Institution could not be created!"), - :errors => inst_errors << com_errors - } - end - end - - def redirect_depending_on_institution_creation response_message - if response_message[:success] - redirect_to :controller => "/admin_panel", :action => "index" - else - flash[:errors] = response_message[:errors] - redirect_to :controller => "software_communities_plugin", :action => "create_institution_admin" - end - end - def get_model_by_params_field case params[:field] when "software_language" diff --git a/controllers/software_communities_plugin_myprofile_controller.rb b/controllers/software_communities_plugin_myprofile_controller.rb index e2ceab7..6eb009a 100644 --- a/controllers/software_communities_plugin_myprofile_controller.rb +++ b/controllers/software_communities_plugin_myprofile_controller.rb @@ -4,15 +4,6 @@ class SoftwareCommunitiesPluginMyprofileController < MyProfileController def index end - def edit_institution - @show_sisp_field = environment.admins.include?(current_user.person) - @state_list = NationalRegion.find(:all, :conditions => - { :national_region_type_id => 2 }, - :order => 'name') - @institution = @profile.institution - update_institution if request.post? - end - def new_software set_software_as_template @@ -81,31 +72,6 @@ class SoftwareCommunitiesPluginMyprofileController < MyProfileController end end - def update_institution - @institution.community.update_attributes(params[:community]) - @institution.update_attributes(params[:institutions].except(:governmental_power, :governmental_sphere, :juridical_nature)) - if @institution.type == "PublicInstitution" - begin - governmental_updates - rescue - @institution.errors.add(:governmental_fields, - _("Could not find Governmental Power or Governmental Sphere")) - end - end - flash[:errors] = @institution.errors.full_messages unless @institution.valid? - end - - def governmental_updates - gov_power = GovernmentalPower.find params[:institutions][:governmental_power] - gov_sphere = GovernmentalSphere.find params[:institutions][:governmental_sphere] - jur_nature = JuridicalNature.find params[:institutions][:juridical_nature] - - @institution.juridical_nature = jur_nature - @institution.governmental_power = gov_power - @institution.governmental_sphere = gov_sphere - @institution.save - end - def software_info_insert_models proc { |list,model_attr| @software_info.send(model_attr).destroy_all diff --git a/db/migrate/20140528193816_add_extra_fields_to_user.rb b/db/migrate/20140528193816_add_extra_fields_to_user.rb deleted file mode 100644 index 087fc62..0000000 --- a/db/migrate/20140528193816_add_extra_fields_to_user.rb +++ /dev/null @@ -1,17 +0,0 @@ -class AddExtraFieldsToUser < ActiveRecord::Migration - def self.up - change_table :users do |t| - t.string :secondary_email - t.references :institution - t.string :role - end - end - - def self.down - change_table :users do |t| - t.remove :secondary_email - t.remove_references :institution - t.remove :role - end - end -end diff --git a/db/migrate/20140528193835_create_institutions_table.rb b/db/migrate/20140528193835_create_institutions_table.rb deleted file mode 100644 index 294c791..0000000 --- a/db/migrate/20140528193835_create_institutions_table.rb +++ /dev/null @@ -1,13 +0,0 @@ -class CreateInstitutionsTable < ActiveRecord::Migration - def self.up - create_table :institutions do |t| - t.string :name - - t.timestamps - end - end - - def self.down - drop_table :institutions - end -end diff --git a/db/migrate/20140617125143_add_new_fields_institution.rb b/db/migrate/20140617125143_add_new_fields_institution.rb deleted file mode 100644 index 70ecf88..0000000 --- a/db/migrate/20140617125143_add_new_fields_institution.rb +++ /dev/null @@ -1,27 +0,0 @@ -class AddNewFieldsInstitution < ActiveRecord::Migration - def up - add_column :institutions, :acronym, :string - add_column :institutions, :unit_code, :integer - add_column :institutions, :parent_code, :integer - add_column :institutions, :unit_type, :string - add_column :institutions, :juridical_nature, :string - add_column :institutions, :sub_juridical_nature, :string - add_column :institutions, :normalization_level, :string - add_column :institutions, :version, :string - add_column :institutions, :cnpj, :string - add_column :institutions, :type, :string - end - - def down - remove_column :institutions, :acronym - remove_column :institutions, :unit_code - remove_column :institutions, :parent_code - remove_column :institutions, :unit_type - remove_column :institutions, :juridical_nature - remove_column :institutions, :sub_juridical_nature - remove_column :institutions, :normalization_level - remove_column :institutions, :version - remove_column :institutions, :cnpj - remove_column :institutions, :type - end -end diff --git a/db/migrate/20140617132133_create_governmental_spheres.rb b/db/migrate/20140617132133_create_governmental_spheres.rb deleted file mode 100644 index c9899a7..0000000 --- a/db/migrate/20140617132133_create_governmental_spheres.rb +++ /dev/null @@ -1,12 +0,0 @@ -class CreateGovernmentalSpheres < ActiveRecord::Migration - def change - create_table :governmental_spheres do |t| - t.string :name - - t.timestamps - end - - path_to_file = "plugins/software_communities/public/static/governmental_sphere.txt" - SoftwareHelper.create_list_with_file(path_to_file, GovernmentalSphere) - end -end diff --git a/db/migrate/20140617132451_create_governmental_powers.rb b/db/migrate/20140617132451_create_governmental_powers.rb deleted file mode 100644 index 48dea43..0000000 --- a/db/migrate/20140617132451_create_governmental_powers.rb +++ /dev/null @@ -1,12 +0,0 @@ -class CreateGovernmentalPowers < ActiveRecord::Migration - def change - create_table :governmental_powers do |t| - t.string :name - - t.timestamps - end - - path_to_file = "plugins/software_communities/public/static/governmental_powers.txt" - SoftwareHelper.create_list_with_file(path_to_file, GovernmentalPower) - end -end diff --git a/db/migrate/20140617134556_add_references_to_institution.rb b/db/migrate/20140617134556_add_references_to_institution.rb deleted file mode 100644 index e5203e1..0000000 --- a/db/migrate/20140617134556_add_references_to_institution.rb +++ /dev/null @@ -1,15 +0,0 @@ -class AddReferencesToInstitution < ActiveRecord::Migration - def up - change_table :institutions do |t| - t.references :governmental_power - t.references :governmental_sphere - end - end - - def down - change_table :institutions do |t| - t.remove_references :governmental_power - t.remove_references :governmental_sphere - end - end -end diff --git a/db/migrate/20140630183326_add_relation_between_community_and_institution.rb b/db/migrate/20140630183326_add_relation_between_community_and_institution.rb deleted file mode 100644 index 4dde5a9..0000000 --- a/db/migrate/20140630183326_add_relation_between_community_and_institution.rb +++ /dev/null @@ -1,13 +0,0 @@ -class AddRelationBetweenCommunityAndInstitution < ActiveRecord::Migration - def up - change_table :institutions do |t| - t.references :community - end - end - - def down - change_table :institutions do |t| - t.remove_references :community - end - end -end diff --git a/db/migrate/20140812143218_remove_field_role_from_user.rb b/db/migrate/20140812143218_remove_field_role_from_user.rb deleted file mode 100644 index e4d4fc6..0000000 --- a/db/migrate/20140812143218_remove_field_role_from_user.rb +++ /dev/null @@ -1,13 +0,0 @@ -class RemoveFieldRoleFromUser < ActiveRecord::Migration - def up - change_table :users do |t| - t.remove :role - end - end - - def down - change_table :users do |t| - t.string :role - end - end -end diff --git a/db/migrate/20140814125947_add_new_fields_to_public_institution.rb b/db/migrate/20140814125947_add_new_fields_to_public_institution.rb deleted file mode 100644 index 232f50a..0000000 --- a/db/migrate/20140814125947_add_new_fields_to_public_institution.rb +++ /dev/null @@ -1,11 +0,0 @@ -class AddNewFieldsToPublicInstitution < ActiveRecord::Migration - def up - add_column :institutions, :sisp, :boolean, :default => false - remove_column :institutions, :juridical_nature - end - - def down - remove_column :institutions, :sisp - add_column :institutions, :juridical_nature, :string - end -end diff --git a/db/migrate/20140814131606_create_juridical_natures_table.rb b/db/migrate/20140814131606_create_juridical_natures_table.rb deleted file mode 100644 index 4df5a27..0000000 --- a/db/migrate/20140814131606_create_juridical_natures_table.rb +++ /dev/null @@ -1,14 +0,0 @@ -class CreateJuridicalNaturesTable < ActiveRecord::Migration - def up - create_table :juridical_natures do |t| - t.string :name - end - - path_to_file = "plugins/software_communities/public/static/juridical_nature.txt" - SoftwareHelper.create_list_with_file(path_to_file, JuridicalNature) - end - - def down - drop_table :juridical_natures - end -end diff --git a/db/migrate/20140814134827_add_juridical_nature_reference_to_institutions_table.rb b/db/migrate/20140814134827_add_juridical_nature_reference_to_institutions_table.rb deleted file mode 100644 index 03baff8..0000000 --- a/db/migrate/20140814134827_add_juridical_nature_reference_to_institutions_table.rb +++ /dev/null @@ -1,13 +0,0 @@ -class AddJuridicalNatureReferenceToInstitutionsTable < ActiveRecord::Migration - def up - change_table :institutions do |t| - t.references :juridical_nature - end - end - - def down - change_table :institutions do |t| - t.remove_references :juridical_nature - end - end -end diff --git a/db/migrate/20140815194530_register_institution_modification.rb b/db/migrate/20140815194530_register_institution_modification.rb deleted file mode 100644 index 3183ec0..0000000 --- a/db/migrate/20140815194530_register_institution_modification.rb +++ /dev/null @@ -1,13 +0,0 @@ -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/db/migrate/20140818195821_remove_institution_from_user.rb b/db/migrate/20140818195821_remove_institution_from_user.rb deleted file mode 100644 index 37486cd..0000000 --- a/db/migrate/20140818195821_remove_institution_from_user.rb +++ /dev/null @@ -1,9 +0,0 @@ -class RemoveInstitutionFromUser < ActiveRecord::Migration - def up - remove_column :users, :institution_id - end - - def down - add_column :users, :institution_id - end -end diff --git a/db/migrate/20140818200738_create_institution_user_relation_table.rb b/db/migrate/20140818200738_create_institution_user_relation_table.rb deleted file mode 100644 index 7068d72..0000000 --- a/db/migrate/20140818200738_create_institution_user_relation_table.rb +++ /dev/null @@ -1,12 +0,0 @@ -class CreateInstitutionUserRelationTable < ActiveRecord::Migration - def up - create_table :institutions_users do |t| - t.belongs_to :user - t.belongs_to :institution - end - end - - def down - drop_table :institutions_users - end -end diff --git a/db/migrate/20141103183013_add_corporate_name_to_institution.rb b/db/migrate/20141103183013_add_corporate_name_to_institution.rb deleted file mode 100644 index 69d4a19..0000000 --- a/db/migrate/20141103183013_add_corporate_name_to_institution.rb +++ /dev/null @@ -1,9 +0,0 @@ -class AddCorporateNameToInstitution < ActiveRecord::Migration - def up - add_column :institutions, :corporate_name, :string - end - - def down - remove_column :institutions, :corporate_name - end -end diff --git a/db/migrate/20150408130613_remove_secondary_email_from_user.rb b/db/migrate/20150408130613_remove_secondary_email_from_user.rb deleted file mode 100644 index 2546592..0000000 --- a/db/migrate/20150408130613_remove_secondary_email_from_user.rb +++ /dev/null @@ -1,10 +0,0 @@ -class RemoveSecondaryEmailFromUser < ActiveRecord::Migration - def up - remove_column :users, :secondary_email - end - - def down - add_column :users, :secondary_email - end - -end diff --git a/lib/ext/community.rb b/lib/ext/community.rb index 56ddf0e..2d61b9a 100644 --- a/lib/ext/community.rb +++ b/lib/ext/community.rb @@ -11,7 +11,6 @@ class Community attr_accessible :visible has_one :software_info, :dependent=>:destroy - has_one :institution, :dependent=>:destroy def self.create_after_moderation(requestor, attributes = {}) community = Community.new(attributes) @@ -31,10 +30,6 @@ class Community return !software_info.nil? end - def institution? - return !institution.nil? - end - def deactivate self.visible = false self.save! diff --git a/lib/ext/person.rb b/lib/ext/person.rb index 1e98f71..2ccb9a2 100644 --- a/lib/ext/person.rb +++ b/lib/ext/person.rb @@ -6,16 +6,6 @@ class Person delegate :login, :to => :user, :prefix => true - def institutions - institutions = [] - unless self.user.institutions.nil? - self.user.institutions.each do |institution| - institutions << institution.name - end - end - institutions - end - def software? false end diff --git a/lib/ext/search_controller.rb b/lib/ext/search_controller.rb index 7ac8247..f172c03 100644 --- a/lib/ext/search_controller.rb +++ b/lib/ext/search_controller.rb @@ -4,22 +4,13 @@ class SearchController def communities results = filter_communities_list do |community| - !community.software? and !community.institution? + !community.software? end results = results.paginate(:per_page => 24, :page => params[:page]) @searches[@asset] = {:results => results} @search = results end - def institutions - @titles[:institutions] = _("Institution Catalog") - results = filter_communities_list{|community| community.institution?} - results = results.paginate(:per_page => 24, :page => params[:page]) - @searches[@asset] = {:results => results} - @search = results - end - - def software_infos prepare_software_search_page results = filter_software_infos_list diff --git a/lib/ext/search_helper.rb b/lib/ext/search_helper.rb index 2d43602..025a3b8 100644 --- a/lib/ext/search_helper.rb +++ b/lib/ext/search_helper.rb @@ -4,7 +4,6 @@ module SearchHelper COMMON_PROFILE_LIST_BLOCK ||= [] COMMON_PROFILE_LIST_BLOCK << :software_infos - COMMON_PROFILE_LIST_BLOCK << :institutions def sort_by_relevance list, text text_splited = text.split diff --git a/lib/ext/user.rb b/lib/ext/user.rb deleted file mode 100644 index ec3d6b8..0000000 --- a/lib/ext/user.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_dependency 'user' - -class User - - has_and_belongs_to_many :institutions - -end diff --git a/lib/governmental_power.rb b/lib/governmental_power.rb deleted file mode 100644 index cb7ca36..0000000 --- a/lib/governmental_power.rb +++ /dev/null @@ -1,13 +0,0 @@ -class GovernmentalPower < ActiveRecord::Base - attr_accessible :name - - validates :name, :presence=>true, :uniqueness=>true - has_many :institutions - - def public_institutions - Institution.where( - :type=>"PublicInstitution", - :governmental_power_id=>self.id - ) - end -end diff --git a/lib/governmental_sphere.rb b/lib/governmental_sphere.rb deleted file mode 100644 index aef8f8f..0000000 --- a/lib/governmental_sphere.rb +++ /dev/null @@ -1,7 +0,0 @@ -class GovernmentalSphere < ActiveRecord::Base - attr_accessible :name - - validates :name, :presence=>true, :uniqueness=>true - - has_many :institutions -end diff --git a/lib/institution.rb b/lib/institution.rb deleted file mode 100644 index cfcb317..0000000 --- a/lib/institution.rb +++ /dev/null @@ -1,122 +0,0 @@ -class Institution < ActiveRecord::Base - - SEARCH_FILTERS = { - :order => %w[], - :display => %w[compact] - } - - def self.default_search_display - 'compact' - end - - belongs_to :governmental_power - belongs_to :governmental_sphere - belongs_to :juridical_nature - - has_and_belongs_to_many :users - - attr_accessible :name, :acronym, :unit_code, :parent_code, :unit_type, - :sub_juridical_nature, :normalization_level, - :version, :cnpj, :type, :governmental_power, - :governmental_sphere, :sisp, :juridical_nature, - :corporate_name - - validates :name, :presence=>true, :uniqueness=>true - - validates :corporate_name, :presence => true - - before_save :verify_institution_type - - belongs_to :community - - scope :search_institution, lambda{ |value| - where("name ilike ? OR acronym ilike ?", "%#{value}%", "%#{value}%" ) - } - - validate :validate_country, :validate_state, :validate_city, - :verify_institution_type, :validate_cnpj, :validate_format_cnpj - - - protected - - def verify_institution_type - valid_institutions_type = ["PublicInstitution", "PrivateInstitution"] - - unless valid_institutions_type.include? self.type - self.errors.add( - :type, - _("invalid, only public and private institutions are allowed.") - ) - - return false - end - return true - end - - def validate_country - if(self.community.blank? || - self.community.country.blank? && - self.errors[:country].blank?) - - self.errors.add(:country, _("can't be blank")) - return false - end - return true - end - - def validate_state - if(self.community.blank? || - self.errors[:state].blank? && - self.community.state.blank?) - - if self.community.country == "BR" - self.errors.add(:state, _("can't be blank")) - return false - else - return true - end - end - return true - end - - def validate_city - if(self.community.blank? || - self.errors[:city].blank? && - self.community.city.blank?) - - if self.community.country == "BR" - self.errors.add(:city, _("can't be blank")) - return false - else - return true - end - end - return true - end - - def validate_format_cnpj - return true if !self.community.blank? && self.community.country != "BR" - - format = /^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/ - - if !self.cnpj.blank? && format.match(self.cnpj) - return true - else - self.errors.add(:cnpj, _("invalid format")) - return false - end - end - - def validate_cnpj - if !self.community.blank? && self.community.country == "BR" - if self.errors[:cnpj].blank? && self.cnpj.blank? - self.errors.add(:cnpj, _("can't be blank")) - return false - else - return true - end - else - return true - end - end -end diff --git a/lib/institutions_block.rb b/lib/institutions_block.rb deleted file mode 100644 index 8ef8f59..0000000 --- a/lib/institutions_block.rb +++ /dev/null @@ -1,71 +0,0 @@ -class InstitutionsBlock < CommunitiesBlock - - def self.description - _('Institutions') - end - - def profile_count - profile_list.count - end - - def default_title - n_('{#} institution', '{#} institutions', profile_count) - end - - def help - _('This block displays the institutions in which the user is a member.') - end - - def footer - owner = self.owner - case owner - when Profile - lambda do |context| - link_to s_('institutions|View all'), :profile => owner.identifier, - :controller => 'profile', :action => 'communities', - :type => 'Institution' - end - when Environment - lambda do |context| - link_to s_('institutions|View all'), :controller => 'search', - :action => 'communities', :type => 'Institution' - end - else - '' - end - end - - def profile_list - result = get_visible_profiles - - result = result.select { |p| p.class == Community && p.institution? } - - result.slice(0..get_limit-1) - end - - def profiles - owner.communities - end - - private - - def get_visible_profiles - include_list = [:image,:domains,:preferred_domain,:environment] - visible_profiles = profiles.visible.includes(include_list) - - if !prioritize_profiles_with_image - visible_profiles.all(:limit => get_limit, - :order => 'profiles.updated_at DESC' - ).sort_by{ rand } - elsif profiles.visible.with_image.count >= get_limit - visible_profiles.with_image.all(:limit => get_limit * 5, - :order => 'profiles.updated_at DESC' - ).sort_by{ rand } - else - visible_profiles.with_image.sort_by{ rand } + - visible_profiles.without_image.all(:limit => get_limit * 5, - :order => 'profiles.updated_at DESC' - ).sort_by{ rand } - end - end -end diff --git a/lib/institutions_users.rb b/lib/institutions_users.rb deleted file mode 100644 index e47da86..0000000 --- a/lib/institutions_users.rb +++ /dev/null @@ -1,4 +0,0 @@ -class InstitutionUser < ActiveRecord::Base - belongs_to :user - belongs_to :institution -end diff --git a/lib/juridical_nature.rb b/lib/juridical_nature.rb deleted file mode 100644 index 1bb17f8..0000000 --- a/lib/juridical_nature.rb +++ /dev/null @@ -1,15 +0,0 @@ -class JuridicalNature < ActiveRecord::Base - attr_accessible :name - - has_many :institutions - - validates_presence_of :name - validates_uniqueness_of :name - - def public_institutions - Institution.where( - :type=>"PublicInstitution", - :juridical_nature_id=>self.id - ) - end -end diff --git a/lib/private_institution.rb b/lib/private_institution.rb deleted file mode 100644 index 1ee0f70..0000000 --- a/lib/private_institution.rb +++ /dev/null @@ -1,3 +0,0 @@ -class PrivateInstitution < Institution - validates :cnpj, :uniqueness=>true, :allow_nil=>true, :allow_blank=>true -end diff --git a/lib/public_institution.rb b/lib/public_institution.rb deleted file mode 100644 index 84ade57..0000000 --- a/lib/public_institution.rb +++ /dev/null @@ -1,15 +0,0 @@ -class PublicInstitution < Institution - validates :governmental_power, :governmental_sphere, :juridical_nature, - :presence=>true - - validates :acronym, :allow_blank => true, :allow_nil => true, - :uniqueness=>true - - validates :cnpj, :uniqueness=>true - - validates_format_of( - :cnpj, - :with => /^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/, - :allow_nil => true, :allow_blank => true - ) -end diff --git a/lib/software_communities_plugin.rb b/lib/software_communities_plugin.rb index 945e76c..a2b3d35 100644 --- a/lib/software_communities_plugin.rb +++ b/lib/software_communities_plugin.rb @@ -35,35 +35,9 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin end end - def profile_editor_controller_filters - block = proc do - if request.post? && params[:institution] - is_admin = environment.admins.include?(current_user.person) - - unless is_admin - institution = profile.user.institutions - - if !params[:institution].blank? && !params[:institution][:sisp].nil? - if params[:institution][:sisp] != institution.sisp - params[:institution][:sisp] = institution.sisp - end - end - end - end - end - - [{ - :type => 'before_filter', - :method_name => 'validate_institution_sisp_field_access', - :options => { :only => :edit }, - :block => block - }] - end - def profile_tabs if context.profile.community? return profile_tabs_software if context.profile.software? - return profile_tabs_institution if context.profile.institution? end end @@ -72,8 +46,6 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin return software_info_button elsif context.profile.person? return create_new_software_button - elsif context.profile.institution? - return institution_info_button end end @@ -123,18 +95,6 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin person.has_permission_without_plugins?(permission, target) end - def custom_user_registration_attributes(user) - return if context.params[:user][:institution_ids].nil? - context.params[:user][:institution_ids].delete('') - - update_user_institutions(user) - - user.institutions.each do |institution| - community = institution.community - community.add_member user.person - end - end - def admin_panel_links [ { @@ -149,33 +109,6 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin protected - def user_transaction - user_editor_institution_actions - - User.transaction do - context.profile.user.update_attributes!(context.params[:user]) - end - end - - def institution_transaction - institution.date_modification = DateTime.now - institution.save - institution_models = %w(governmental_power governmental_sphere - juridical_nature) - - institution_models.each do |model| - call_institution_transaction(model) - end - - if context.params.has_key?(:institution) - Institution.transaction do - context.profile. - institution. - update_attributes!(context.params[:institution]) - end - end - end - def software_info_transaction SoftwareInfo.transaction do context.profile. @@ -192,27 +125,6 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin private - # Add and remove the user from it's institutions communities - def user_editor_institution_actions - user = context.profile.user - - old_communities = [] - context.profile.user.institutions.each do |institution| - old_communities << institution.community - end - - new_communities = [] - unless context.params[:user][:institution_ids].nil? - context.params[:user][:institution_ids].delete('') - - context.params[:user][:institution_ids].each do |id| - new_communities << Institution.find(id).community - end - end - - manage_user_institutions(user, old_communities, new_communities) - end - def call_model_transaction(model,name) send(name + '_transaction') if context.params.key?(model.to_sym) end @@ -245,56 +157,10 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin } end - def institution_info_button - { - :title => _('Institution Info'), - :icon => 'edit-profile-group control-panel-instituton-link', - :url => { - :controller => 'software_communities_plugin_myprofile', - :action => 'edit_institution' - } - } - end - - def manage_user_institutions(user, old_communities, new_communities) - leave_communities = (old_communities - new_communities) - enter_communities = (new_communities - old_communities) - - leave_communities.each do |community| - community.remove_member(user.person) - user.institutions.delete(community.institution) - end - - enter_communities.each do |community| - community.add_member(user.person) - user.institutions << community.institution - end - end - def profile_tabs_software { :title => _('Software'), :id => 'software-fields', :content => Proc::new do render :partial => 'profile/software_tab' end, :start => true } end - - def profile_tabs_institution - { :title => _('Institution'), - :id => 'intitution-fields', - :content => Proc::new do render :partial => 'profile/institution_tab' end, - :start => true - } - end - - def update_user_institutions(user) - context.params[:user][:institution_ids].each do |institution_id| - institution = Institution.find institution_id - user.institutions << institution - - if institution.community.admins.blank? - institution.community.add_admin(user.person) - end - end - user.save unless user.institution_ids.empty? - end end diff --git a/test/functional/profile_editor_controller_test.rb b/test/functional/profile_editor_controller_test.rb index 5487a6f..815a6e7 100644 --- a/test/functional/profile_editor_controller_test.rb +++ b/test/functional/profile_editor_controller_test.rb @@ -28,68 +28,6 @@ class ProfileEditorControllerTest < ActionController::TestCase login_as('adminuser') @environment.add_admin(admin) @environment.save - - @govPower = GovernmentalPower.create(:name=>"Some Gov Power") - @govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") - @juridical_nature = JuridicalNature.create(:name => "Autarquia") - - @institution_list = [] - @institution_list << InstitutionTestHelper.create_public_institution( - "Ministerio Publico da Uniao", - "MPU", - "BR", - "DF", - "Gama", - @juridical_nature, - @govPower, - @govSphere, - "12.345.678/9012-45" - ) - - @institution_list << InstitutionTestHelper.create_public_institution( - "Tribunal Regional da Uniao", - "TRU", - "BR", - "DF", - "Brasilia", - @juridical_nature, - @govPower, - @govSphere, - "12.345.678/9012-90" - ) - end - - should "add new institution for user into edit profile" do - user = create_basic_user - - params_user = Hash.new - params_user[:institution_ids] = [] - - @institution_list.each do |institution| - params_user[:institution_ids] << institution.id - end - - post :edit, :profile => User.last.person.identifier, :user => params_user - - assert_equal @institution_list.count, User.last.institutions.count - end - - should "remove institutions for user into edit profile" do - user = create_basic_user - - @institution_list.each do |institution| - user.institutions << institution - end - user.save! - - params_user = Hash.new - params_user[:institution_ids] = [] - - assert_equal @institution_list.count, User.last.institutions.count - - post :edit, :profile => User.last.person.identifier, :user => params_user - - assert_equal 0, User.last.institutions.count end should "redirect to edit_software_community on edit community of software" do diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb index 6f521a5..ec78034 100644 --- a/test/functional/search_controller_test.rb +++ b/test/functional/search_controller_test.rb @@ -23,29 +23,19 @@ class SearchControllerTest < ActionController::TestCase create_software_categories end - should "communities searches don't have software or institution" do + should "communities searches don't have software" do community = create_community("New Community") software = create_software_info("New Software") - institution = create_private_institution( - "New Private Institution", - "NPI" , - "Brazil", - "DF", - "Gama", - "66.544.314/0001-63" - ) get :communities, :query => "New" assert_includes assigns(:searches)[:communities][:results], community assert_not_includes assigns(:searches)[:communities][:results], software - assert_not_includes assigns(:searches)[:communities][:results], institution end - should "software_infos search don't have community or institution" do + should "software_infos search don't have community" do community = create_community("New Community") software = create_software_info("New Software") - institution = create_private_institution("New Private Institution", "NPI" , "Brazil", "DF", "Gama", "66.544.314/0001-63") software.license_info = LicenseInfo.create :version => "GPL - 1.0" software.save! @@ -54,7 +44,6 @@ class SearchControllerTest < ActionController::TestCase assert_includes assigns(:searches)[:software_infos][:results], software.community assert_not_includes assigns(:searches)[:software_infos][:results], community - assert_not_includes assigns(:searches)[:software_infos][:results], institution.community end @@ -64,15 +53,6 @@ class SearchControllerTest < ActionController::TestCase software.license_info = LicenseInfo.create(:version => "GPL") software.save! - institution = create_private_institution( - "New Private Institution", - "NPI" , - "Brazil", - "DF", - "Gama", - "66.544.314/0001-63" - ) - community_template = create_community("New Community Template") community_template.is_template = true community_template.save! @@ -85,31 +65,6 @@ class SearchControllerTest < ActionController::TestCase ) end - should "institutions_search don't have community or software" do - community = create_community("New Community") - software = create_software_info("New Software") - institution = create_private_institution( - "New Private Institution", - "NPI" , - "Brazil", - "DF", - "Gama", - "66.544.314/0001-63" - ) - - get :institutions, :query => "New" - - assert_includes( - assigns(:searches)[:institutions][:results], - institution.community - ) - assert_not_includes assigns(:searches)[:institutions][:results], community - assert_not_includes( - assigns(:searches)[:institutions][:results], - software.community - ) - end - should "software_infos search by category" do software_one = create_software_info("Software One") software_two = create_software_info("Software Two") diff --git a/test/functional/software_communities_plugin_controller_test.rb b/test/functional/software_communities_plugin_controller_test.rb index 6cf871d..7322666 100644 --- a/test/functional/software_communities_plugin_controller_test.rb +++ b/test/functional/software_communities_plugin_controller_test.rb @@ -45,213 +45,4 @@ class SoftwareCommunitiesPluginControllerTest < ActionController::TestCase "12.345.678/9012-90" ) end - - should "Search for institution with acronym" do - xhr :get, :get_institutions, :query=>"TRU" - - json_response = ActiveSupport::JSON.decode(@response.body) - - assert_equal "Tribunal Regional da Uniao", json_response[0]["value"] - end - - should "Search for institution with name" do - xhr :get, :get_institutions, :query=>"Minis" - - json_response = ActiveSupport::JSON.decode(@response.body) - - assert_equal "Ministerio Publico da Uniao", json_response[0]["value"] - end - - should "search with name or acronym and return a list with institutions" do - xhr :get, :get_institutions, :query=>"uni" - - json_response = ActiveSupport::JSON.decode(@response.body) - - assert_equal "Ministerio Publico da Uniao", json_response[0]["value"] - assert_equal "Tribunal Regional da Uniao", json_response[1]["value"] - end - - should "method create_institution return the html for modal" do - @controller.stubs(:current_user).returns(@admin.user) - xhr :get, :create_institution - assert_template 'create_institution' - end - - should "create new institution with ajax without acronym" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "foo bar", - "BR", - "DF", - "Brasilia", - "12.234.567/8900-10", - "PublicInstitution" - ) - fields[:institutions][:governmental_power] = @gov_power.id - fields[:institutions][:governmental_sphere] = @gov_sphere.id - fields[:institutions][:juridical_nature] = @juridical_nature.id - - xhr :get, :new_institution, fields - - json_response = ActiveSupport::JSON.decode(@response.body) - - assert json_response["success"] - end - - should "not create a institution that already exists" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "Ministerio Publico da Uniao", - "BR", - "DF", - "Brasilia", - "12.234.567/8900-10", - "PublicInstitution" - ) - fields[:institutions][:governmental_power] = @gov_power.id - fields[:institutions][:governmental_sphere] = @gov_sphere.id - fields[:institutions][:juridical_nature] = @juridical_nature.id - - xhr :get, :new_institution, fields - - json_response = ActiveSupport::JSON.decode(@response.body) - - assert !json_response["success"] - end - - should "not create a institution without cnpj" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "Some Private Institution", - "BR", - "DF", - "Brasilia", - "", - "PrivateInstitution" - ) - fields[:institutions][:acronym] = "SPI" - - xhr :get, :new_institution, fields - - json_response = ActiveSupport::JSON.decode(@response.body) - - assert !json_response["success"] - end - - should "verify if institution name already exists" do - xhr :get, :institution_already_exists, :name=>"Ministerio Publico da Uniao" - assert_equal "true", @response.body - - xhr :get, :institution_already_exists, :name=>"Another name here" - assert_equal "false", @response.body - end - - should "hide registration incomplete message" do - xhr :get, :hide_registration_incomplete_percentage, :hide=>true - assert_equal "true", @response.body - end - - should "not hide registration incomplete message" do - xhr :get, :hide_registration_incomplete_percentage, :hide=>false - assert_equal "false", @response.body - end - - should "Create new institution with method post" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "Some Private Institution", - "BR", - "DF", - "Brasilia", - "12.345.567/8900-10", - "PrivateInstitution" - ) - fields[:institutions][:acronym] = "SPI" - - post :new_institution, fields - - assert_redirected_to(controller: "admin_panel", action: "index") - end - - should "not create new institution with method post without cnpj" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "Some Private Institution", - "BR", - "DF", - "Brasilia", - "", - "PrivateInstitution" - ) - fields[:institutions][:acronym] = "SPI" - - post :new_institution, fields - - assert_redirected_to(controller: "software_communities_plugin", action: "create_institution_admin") - end - - should "Create foreign institution without city, state and cnpj by post" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "Foreign institution", - "AZ", - "", - "", - "", - "PrivateInstitution" - ) - fields[:institutions][:acronym] = "FI" - - post :new_institution, fields - - assert_redirected_to(controller: "admin_panel", action: "index") - end - - should "Create foreign institution without city, state and cnpj by ajax" do - @controller.stubs(:verify_recaptcha).returns(true) - - fields = InstitutionTestHelper.generate_form_fields( - "Foreign institution", - "AZ", - "", - "", - "", - "PrivateInstitution" - ) - fields[:institutions][:acronym] = "FI" - - xhr :post, :new_institution, fields - - json_response = ActiveSupport::JSON.decode(@response.body) - assert json_response["success"] - end - - should "add environment admins to institution when created via admin panel" do - @controller.stubs(:verify_recaptcha).returns(true) - admin2 = create_user("another_admin").person - admin2.stubs(:has_permission?).returns("true") - @environment.add_admin(admin2) - @environment.save - - fields = InstitutionTestHelper.generate_form_fields( - "Private Institution", - "BR", - "DF", - "Brasilia", - "12.323.557/8900-10", - "PrivateInstitution" - ) - fields[:institutions][:acronym] = "PI" - fields[:edit_institution_page] = false - post :new_institution, fields - - assert(Institution.last.community.admins.include?(admin2) ) - end - -end \ No newline at end of file +end diff --git a/test/functional/software_communities_plugin_myprofile_controller_test.rb b/test/functional/software_communities_plugin_myprofile_controller_test.rb index a60e6d3..bb72b8a 100644 --- a/test/functional/software_communities_plugin_myprofile_controller_test.rb +++ b/test/functional/software_communities_plugin_myprofile_controller_test.rb @@ -1,6 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' require File.dirname(__FILE__) + '/../helpers/software_test_helper' -require File.dirname(__FILE__) + '/../helpers/institution_test_helper' require( File.dirname(__FILE__) + '/../../controllers/software_communities_plugin_myprofile_controller' @@ -115,85 +114,6 @@ class SoftwareCommunitiesPluginMyprofileControllerTest < ActionController::TestC assert_equal true, SoftwareInfo.last.public_software? end - should "user edit its community institution" do - govPower = GovernmentalPower.create(:name=>"Some Gov Power") - govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") - juridical_nature = JuridicalNature.create(:name => "Autarquia") - - institution = InstitutionTestHelper.create_public_institution( - "Ministerio Publico da Uniao", - "MPU", - "BR", - "DF", - "Gama", - juridical_nature, - govPower, - govSphere, - "12.345.678/9012-45" - ) - - identifier = institution.community.identifier - - fields = InstitutionTestHelper.generate_form_fields( - "institution new name", - "BR", - "DF", - "Gama", - "12.345.678/9012-45", - "PrivateInstitution" - ) - - post( - :edit_institution, - :profile=>institution.community.identifier, - :community=>fields[:community], - :institutions=>fields[:institutions] - ) - - institution = Community[identifier].institution - assert_not_equal "Ministerio Publico da Uniao", institution.community.name - end - - should "not user edit its community institution with wrong values" do - govPower = GovernmentalPower.create(:name=>"Some Gov Power") - govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") - juridical_nature = JuridicalNature.create(:name => "Autarquia") - - institution = InstitutionTestHelper.create_public_institution( - "Ministerio Publico da Uniao", - "MPU", - "BR", - "DF", - "Gama", - juridical_nature, - govPower, - govSphere, - "12.345.678/9012-45" - ) - - identifier = institution.community.identifier - - fields = InstitutionTestHelper.generate_form_fields( - "", - "BR", - "DF", - "Gama", - "6465465465", - "PrivateInstitution" - ) - - post( - :edit_institution, - :profile=>institution.community.identifier, - :community=>fields[:community], - :institutions=>fields[:institutions] - ) - - institution = Community[identifier].institution - assert_equal "Ministerio Publico da Uniao", institution.community.name - assert_equal "12.345.678/9012-45", institution.cnpj - end - should "create software_info with existing license_info" do @environment.add_admin(@person) @@ -231,5 +151,4 @@ class SoftwareCommunitiesPluginMyprofileControllerTest < ActionController::TestC assert_equal SoftwareInfo.last.license_info.version, another_license_version assert_equal SoftwareInfo.last.license_info.link, another_license_link end - end diff --git a/views/software_communities_plugin/_institution.html.erb b/views/software_communities_plugin/_institution.html.erb deleted file mode 100644 index 7b59d89..0000000 --- a/views/software_communities_plugin/_institution.html.erb +++ /dev/null @@ -1,129 +0,0 @@ -

<%= _('New Institution') %>

- -<% if environment.enabled?('admin_must_approve_new_communities') %> -
- <%= _("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.") % { :environment => environment.name }%> -
-<%end %> - -<% unless flash[:errors].nil? %> -
-

<%= _("Can`t create new Institution: #{flash[:errors].length} errors") %>

- -
-<% end %> - -
- -
-
- <%= _("All fields with (*) are mandatory") %> -
-
- <%= labelled_form_for :community, :url => {:action=>"new_institution"}, :html => { :multipart => true, :id=>"institution_form" } do |f| %> - <%= hidden_field_tag "edit_institution_page", false %> - <%= fields_for :institutions do |inst| %> - -
- - - -
-
- - <%= required f.text_field(:name) %> - <%= content_tag :span, _("Institution name already exists"), :id=>"already_exists_text", :class=>"errorExplanation hide-field" %> - - -
- <%= inst.label "corporate_name", _("Corporate Name"), :class=>"formlabel" %> - <%= required inst.text_field(:corporate_name) %> -
-
- - <%= required select_country(_('Country'), 'community', 'country', {:class => 'type-select', :id => "community_country"}) %> - - -
- - <%= f.select(:state, @state_list.collect {|state| [state.name, state.name]}) %> -
-
- - <%= required f.text_field(:city) %> - - - -
- <%= inst.label("cnpj" ,_("CNPJ"), :class=>"formlabel") %> - <%= required inst.text_field(:cnpj, :placeholder=>"99.999.999/9999-99", :class=>"intitution_cnpj_field") %> -
-
- - -
- <%= hidden_field_tag "acronym_translate", _("Acronym") %> - <%= hidden_field_tag "fantasy_name_translate", _("Fantasy name") %> - <%= inst.label("acronym" ,_("Acronym"), :class=>"formlabel") %> - <%= inst.text_field(:acronym) %> -
-
- - -
- <%= inst.label("governmental_sphere_id" ,_("Governmental Sphere:"), :class=>"formlabel") %> - <%= inst.select(:governmental_sphere, [[_("Select a Governmental Sphere"), 0]]|GovernmentalSphere.all.map {|s| [s.name, s.id]}, {:selected=>0})%> -
-
- - -
- <%= inst.label("governmental_power_id" ,_("Governmental Power:"), :class=>"formlabel") %> - <%= inst.select(:governmental_power, [[_("Select a Governmental Power"), 0]]|GovernmentalPower.all.map {|g| [g.name, g.id]}, {:selected=>0})%> -
-
- -
- <%= inst.label("juridical_nature_id" ,_("Juridical Nature:"), :class=>"formlabel") %> - <%= inst.select(:juridical_nature, [[_("Select a Juridical Nature"), 0]]|JuridicalNature.all.map {|j| [j.name, j.id]}, {:selected=>0})%> -
-
- - -
- <%= _("SISP?") %> - <% if @show_sisp_field %> - <%= inst.label("sisp" ,_("Yes")) %> - <%= inst.radio_button(:sisp, true) %> - <%= inst.label("sisp" ,_("No")) %> - <%= inst.radio_button(:sisp, false, :checked=>"checked") %> - <% else %> - <%= inst.label("sisp", _("No")) %> - <% end %> -
-
-
- - <% if @url_token == "create_institution_admin" %> - <%= submit_button :save, _('Save') %> - <%else%> -
- <%= link_to(_('Save'), '#', :id=>'save_institution_button', :class=>'button with-text icon-add') %> -
- <%= hidden_field_tag :institution_error_message, _("Could not send the form data to the server") %> - <%end%> - - <% end %> - - <% end %> -
-<%= hidden_field_tag :loading_message, _("Creating institution") %> diff --git a/views/software_communities_plugin/create_institution.html.erb b/views/software_communities_plugin/create_institution.html.erb deleted file mode 100644 index 037140f..0000000 --- a/views/software_communities_plugin/create_institution.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= render :partial => "institution" %> diff --git a/views/software_communities_plugin/create_institution_admin.html.erb b/views/software_communities_plugin/create_institution_admin.html.erb deleted file mode 100644 index 037140f..0000000 --- a/views/software_communities_plugin/create_institution_admin.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= render :partial => "institution" %> -- libgit2 0.21.2