bsw/jbe@0: Vote = mondelefant.new_class() bsw/jbe@0: Vote.table = 'vote' bsw/jbe@5: Vote.primary_key = { "initiative_id", "member_id" } bsw/jbe@0: bsw/jbe@0: Vote:add_reference{ bsw/jbe@0: mode = 'm1', bsw/jbe@0: to = "Issue", bsw/jbe@0: this_key = 'issue_id', bsw/jbe@0: that_key = 'id', bsw/jbe@0: ref = 'issue', bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: Vote:add_reference{ bsw/jbe@0: mode = 'm1', bsw/jbe@0: to = "Initiative", bsw/jbe@0: this_key = 'initiative_id', bsw/jbe@0: that_key = 'id', bsw/jbe@0: ref = 'initiative', bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: Vote:add_reference{ bsw/jbe@0: mode = 'm1', bsw/jbe@0: to = "Member", bsw/jbe@0: this_key = 'author_id', bsw/jbe@0: that_key = 'id', bsw/jbe@0: ref = 'author', bsw/jbe@0: } bsw/jbe@5: bsw/jbe@5: function Vote:by_pk(initiative_id, member_id) bsw/jbe@5: return self:new_selector() bsw/jbe@5: :add_where{ "initiative_id = ? AND member_id = ?", initiative_id, member_id } bsw/jbe@5: :optional_object_mode() bsw/jbe@5: :exec() bsw/jbe@5: end