liquid_feedback_frontend

diff model/member.lua @ 547:57a261a81c5a

Added preloading to issue list
author bsw
date Tue May 29 20:43:27 2012 +0200 (2012-05-29)
parents 9f8aa189cac4
children c1dc3b14a4f3
line diff
     1.1 --- a/model/member.lua	Sun May 27 23:08:33 2012 +0200
     1.2 +++ b/model/member.lua	Tue May 29 20:43:27 2012 +0200
     1.3 @@ -481,13 +481,18 @@
     1.4  end
     1.5  
     1.6  function Member.object:has_voting_right_for_unit_id(unit_id)
     1.7 -  return (Privilege:new_selector()
     1.8 -    :add_where{ "member_id = ?", self.id }
     1.9 -    :add_where{ "unit_id = ?", unit_id }
    1.10 -    :add_where("voting_right")
    1.11 -    :optional_object_mode()
    1.12 -    :for_share()
    1.13 -    :exec()) and true or false
    1.14 +  if not self.__units_with_voting_right_hash then
    1.15 +    local privileges = Privilege:new_selector()
    1.16 +      :add_where{ "member_id = ?", self.id }
    1.17 +      :add_where("voting_right")
    1.18 +      :for_share()
    1.19 +      :exec()
    1.20 +    self.__units_with_voting_right_hash = {}
    1.21 +      for i, privilege in ipairs(privileges) do
    1.22 +        self.__units_with_voting_right_hash[privilege.unit_id] = true
    1.23 +      end
    1.24 +  end
    1.25 +  return self.__units_with_voting_right_hash[unit_id] and true or false
    1.26  end
    1.27  
    1.28  function Member.object:get_delegatee_member(unit_id, area_id, issue_id)

Impressum / About Us