Ejemplo n.º 1
0
        def update_score_trx():
            delta = 0

            # update score entity
            score = query.get()
            if not score:
                if not value:
                    return
                old_value = 0
                score = GSoCScore(parent=self.data.proposal, author=self.data.profile, value=value)
                score.put()
                delta = 1
            else:
                old_value = score.value
                if not value:
                    delta = -1
                    score.delete()
                else:
                    score.value = value
                    score.put()

            # update total score for the proposal
            proposal = db.get(self.data.proposal.key())
            proposal.score += value - old_value
            proposal.nr_scores += delta
            proposal.put()
Ejemplo n.º 2
0
        def update_score_trx():
            delta = 0

            # update score entity
            score = query.get()
            if not score:
                if not value:
                    return
                old_value = 0
                score = GSoCScore(parent=data.url_proposal,
                                  author=data.ndb_profile.key.to_old_key(),
                                  value=value)
                score.put()
                delta = 1
            else:
                old_value = score.value
                if not value:
                    delta = -1
                    score.delete()
                else:
                    score.value = value
                    score.put()

            # update total score for the proposal
            proposal = db.get(data.url_proposal.key())
            proposal.score += value - old_value
            proposal.nr_scores += delta
            proposal.put()