def vote_count(self): return Upvote.count_by_issue_id(self.issue_id)
def upvote_by_user(self, user_id): if user_id and (user_id != self.creator_id) and not self.is_closed: vote = Upvote.add(self.issue_id, user_id) if vote: self.update_rank_score() return self.vote_count
def has_user_voted(self, user_id): if user_id: vote = Upvote.get_by_issue_id_and_user_id(self.issue_id, user_id) return True if vote else False return False
def cancel_upvote_by_user(self, user_id): ok = Upvote.delete(self.issue_id, user_id) if ok: self.update_rank_score() return self.vote_count