Ticket 91 (Open)
| Created: | by Isaac Foraker Mar 04, 2008 |
| Severity: | Minor Problem (3 of 5) |
| Priority: | Low (1 of 4) |
| Attached: |
|
| Assigned: | to Isaac Foraker |
Project admin can't add members
When a project administrator (not site admin) tried to add members to his project, devalot threw an exception. The problem does not occur if either site administrator clicks the “add member” button.
ActionView::TemplateError (undefined method `position' for #<Position:0xb75efd3c>) on line #6 of app/views/members/new.rhtml:
3: <% generate_form_for(nil, :legend => 'New Project Member', :url => {:action => 'create', :project => @project}) do |f| %>
4: <% f.error(@create_errors) unless @create_errors.blank? %>
5: <% f.text_field(:email, 'Email Address: (for a currently registered user)') %>
6: <% f.collection_select(:role, 'Role:', current_user.role_list_for(@project), :position, :title) %>
7: <% f.button('Add Member') %>
8: <% f.button('Cancel', :url => {:action => 'index', :project => @project}) %>
9: <% end %>
#{RAILS_ROOT}/vendor/rails/activerecord/lib/active_record/base.rb:1860:in `method_missing'
#{RAILS_ROOT}/app/models/user.rb:151:in `role_list_for'
#{RAILS_ROOT}/app/views/members/new.rhtml:6:in `_run_rhtml_47app47views47members47new46rhtml'
#{RAILS_ROOT}/vendor/plugins/easy_forms/lib/description.rb:62:in `initialize'
#{RAILS_ROOT}/vendor/plugins/easy_forms/lib/extend_av.rb:33:in `new'
#{RAILS_ROOT}/vendor/plugins/easy_forms/lib/extend_av.rb:33:in `generate_form_for'
My suspicion is that ‘position’ is not defined in the role returned by self.positions.find_by_project_id.
142 ################################################################################ 143 # List of roles at or below my current level 144 def role_list_for (project) 145 my_position = nil 146 147 if self.is_root? 148 my_position = 0 149 else 150 role = self.positions.find_by_project_id(project.id) 151 my_position = role.position unless role.nil? 152 end 153 154 return [] if my_position.nil? 155 Role.find(:all, :order => :position, :conditions => ['position >= ?', my_position]) 156 end
Tags:
This ticket hasn't been tagged yet.
Comments:
Confirmed that this also is broken on the main Devalot site. I cannot click the “add members” link on the Members page.
Have something to say? Login to post a comment.
Isaac Foraker, Mar 05, 2008
Level 5 (Governator with 12,347 points)
Checked a fix into my branch: https://pmade.com/svn/oss/devalot/branches/exp/isaac/app/models/user.rb@1297.