def METHOD_NAME(self, person, source):
    candidacy = self.ballot.membership_set.get(person=person)
    if candidacy.elected:
        return
    assert self.can_mark_elected
    candidacy.elected = True
    candidacy.save()
    self.create_result_event(candidacy, source)
    self.set_not_elected()
    self.save_version(candidacy.person, source, "set-candidate-elected")