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)