diff --git a/lib/ext/person.rb b/lib/ext/person.rb index 730b913..45d23a9 100644 --- a/lib/ext/person.rb +++ b/lib/ext/person.rb @@ -39,6 +39,16 @@ class Person } } + def institutions + institutions = [] + unless self.user.institutions.nil? + self.user.institutions.each do |institution| + institutions << institution.name + end + end + institutions + end + def secondary_email self.user.secondary_email unless self.user.nil? end @@ -47,22 +57,6 @@ class Person self.user.secondary_email = value unless self.user.nil? end - def institution - self.user.institution.name if self.user and self.user.institution - end - - def institution_id - self.user.institution.id unless self.user.institution.nil? - end - - def institution_id= value - institution = Institution.find(:first, :conditions=>"id = #{value}") - - unless institution.nil? - self.user.institution = institution - end - end - def software? false end diff --git a/lib/mpog_software_plugin.rb b/lib/mpog_software_plugin.rb index e624d89..da0b4d5 100644 --- a/lib/mpog_software_plugin.rb +++ b/lib/mpog_software_plugin.rb @@ -168,9 +168,13 @@ class MpogSoftwarePlugin < Noosfero::Plugin end - def custom_user_registration_attributes user - if user.institution - community = user.institution.community + def custom_user_registration_attributes user, ids + ids.each do |id| + user.institutions << Institution.find(id) if !id.empty? + end + + user.institutions.each do |institution| + community = institution.community community.add_member user.person end end @@ -195,7 +199,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin end def profile_required_list - required_list = ["cell_phone","contact_phone","institution","comercial_phone","country","city","state","organization_website","area_interest","image"] + required_list = ["cell_phone","contact_phone","institutions","comercial_phone","country","city","state","organization_website","area_interest","image"] end def profile_required_empty_list person diff --git a/views/profile/_profile_tab.html.erb b/views/profile/_profile_tab.html.erb index d16960e..307dc29 100644 --- a/views/profile/_profile_tab.html.erb +++ b/views/profile/_profile_tab.html.erb @@ -5,5 +5,5 @@ <%= display_field(_('Secondary E-mail:'), profile, :secondary_email, true) %> <%= display_field(_('Areas of Interest:'), profile, :area_interest, true) %> - <%= display_field(_('Institution:'), profile, :institution, true) %> + <%= display_field(_('Institution:'), profile, :institutions, true) %> -- libgit2 0.21.2