# HG changeset patch # User bsw # Date 1345427537 -7200 # Node ID b51f9500a9b2dec759ead723751fb15d7a2c9218 # Parent e0a137befa74890d03a3f01ee57fd7bfef7d32c8 Added has_polling_right_for_unit_id function to member model diff -r e0a137befa74 -r b51f9500a9b2 model/member.lua --- a/model/member.lua Mon Aug 20 03:06:31 2012 +0200 +++ b/model/member.lua Mon Aug 20 03:52:17 2012 +0200 @@ -503,6 +503,21 @@ return self.__units_with_voting_right_hash[unit_id] and true or false end +function Member.object:has_polling_right_for_unit_id(unit_id) + if not self.__units_with_polling_right_hash then + local privileges = Privilege:new_selector() + :add_where{ "member_id = ?", self.id } + :add_where("polling_right") + :for_share() + :exec() + self.__units_with_polling_right_hash = {} + for i, privilege in ipairs(privileges) do + self.__units_with_polling_right_hash[privilege.unit_id] = true + end + end + return self.__units_with_polling_right_hash[unit_id] and true or false +end + function Member.object:get_delegatee_member(unit_id, area_id, issue_id) local selector = Member:new_selector() if unit_id then