Skip to content

Commit

Permalink
Flag the name change when ballot is locked
Browse files Browse the repository at this point in the history
  • Loading branch information
VirginiaDooley committed Apr 26, 2022
1 parent b3daf09 commit e4ad16e
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions ynr/apps/moderation_queue/review_required_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,29 @@ def needs_review(self):
return self.Status.UNDECIDED


class LockedBallotNameEdits(BaseReviewRequiredDecider):
"""If a user has made a name edit to a locked ballot, flag it"""

def review_description_text(self):
return "Edit of name of current candidate with locked ballot"

def needs_review(self):
if self.logged_action.person:
la = self.logged_action
qs = la.person.memberships.filter(
ballot__election__current=True, ballot__candidates_locked=True
)
for version_diff in la.person.version_diffs:
if version_diff["version_id"] == la.popit_person_new_version:
this_diff = version_diff["diffs"][0]["parent_diff"]
for op in this_diff:
if op["path"] == "name":
if qs.exists():
return self.Status.NEEDS_REVIEW
return self.Status.UNDECIDED
return self.Status.UNDECIDED


class EditTypesThatNeverNeedReview(BaseReviewRequiredDecider):
def review_description_text(self):
return "Type of edit that never needs a review"
Expand Down Expand Up @@ -297,6 +320,11 @@ def needs_review(self):
label="Too many reverts in 24 hours",
cls=RevertedEdits,
),
ReviewType(
type="needs_review_due_to_name_change_in_locked_ballot",
label="Edit of name of current candidate with locked ballot",
cls=LockedBallotNameEdits,
),
)

POST_DECISION_REVIEW_TYPES = (
Expand Down

0 comments on commit e4ad16e

Please sign in to comment.