diff --git a/db/migrate/20140818195821_remove_institution_from_user.rb b/db/migrate/20140818195821_remove_institution_from_user.rb new file mode 100644 index 0000000..37486cd --- /dev/null +++ b/db/migrate/20140818195821_remove_institution_from_user.rb @@ -0,0 +1,9 @@ +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 new file mode 100644 index 0000000..7068d72 --- /dev/null +++ b/db/migrate/20140818200738_create_institution_user_relation_table.rb @@ -0,0 +1,12 @@ +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/lib/ext/user.rb b/lib/ext/user.rb index ed8face..9314624 100644 --- a/lib/ext/user.rb +++ b/lib/ext/user.rb @@ -2,7 +2,7 @@ require_dependency 'user' class User - belongs_to :institution + has_and_belongs_to_many :institutions validate :email_different_secondary?, :email_has_already_been_used?, :secondary_email_format, :email_suffix_is_gov? diff --git a/lib/institution.rb b/lib/institution.rb index 930cd3a..159eafc 100644 --- a/lib/institution.rb +++ b/lib/institution.rb @@ -5,7 +5,7 @@ class Institution < ActiveRecord::Base attr_accessible :name, :acronym, :unit_code, :parent_code, :unit_type, :juridical_nature, :sub_juridical_nature, :normalization_level, :version, :cnpj, :type, :governmental_power, :governmental_sphere - has_many :users + has_and_belongs_to_many :users validates :name, :presence=>true, :uniqueness=>true diff --git a/lib/institutions_users.rb b/lib/institutions_users.rb new file mode 100644 index 0000000..e47da86 --- /dev/null +++ b/lib/institutions_users.rb @@ -0,0 +1,4 @@ +class InstitutionUser < ActiveRecord::Base + belongs_to :user + belongs_to :institution +end -- libgit2 0.21.2