lib/osm/member.rb in osm-0.1.8 vs lib/osm/member.rb in osm-0.1.9

- old
+ new

@@ -146,23 +146,24 @@ # @param [Osm::Section, Fixnum] section the section (or its ID) to get the members for # @param [Osm::Term, Fixnum, nil] term the term (or its ID) to get the members for, passing nil causes the current term to be used # @!macro options_get # @return [Array<Osm::Member>] def self.get_for_section(api, section, term=nil, options={}) + section = Osm::Section.get(api, section) if section.is_a?(Fixnum) + term = -1 if section.waiting? term_id = term.nil? ? Osm::Term.get_current_term_for_section(api, section).id : term.to_i - section_id = section.to_i - cache_key = ['members', section_id, term_id] + cache_key = ['members', section.id, term_id] - if !options[:no_cache] && cache_exist?(api, cache_key) && get_user_permission(api, section_id, :member).include?(:read) + if !options[:no_cache] && cache_exist?(api, cache_key) && get_user_permission(api, section.id, :member).include?(:read) return cache_read(api, cache_key) end - data = api.perform_query("users.php?action=getUserDetails&sectionid=#{section_id}&termid=#{term_id}") + data = api.perform_query("users.php?action=getUserDetails&sectionid=#{section.id}&termid=#{term_id}") result = Array.new data['items'].each do |item| result.push Osm::Member.new( - :section_id => section_id, + :section_id => section.id, :id => Osm::to_i_or_nil(item['scoutid']), :type => item['type'], :first_name => item['firstname'], :last_name => item['lastname'], :email1 => item['email1'],