From d7dac3a8e7a357935195ac0f9edc2ad95b2c42ad Mon Sep 17 00:00:00 2001 From: Harold Rubio Date: Sun, 27 Oct 2024 16:20:22 -0400 Subject: [PATCH 1/4] Add new field --- openreview/arr/helpers.py | 9 +++++++++ openreview/stages/arr_content.py | 11 +++++++++++ tests/test_arr_venue_v2.py | 15 ++++++++++----- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/openreview/arr/helpers.py b/openreview/arr/helpers.py index 93d54af17..2d56bb907 100644 --- a/openreview/arr/helpers.py +++ b/openreview/arr/helpers.py @@ -1195,6 +1195,15 @@ class Participants(Enum): 'Blind_Submission_License_Agreement': 'Submission_Revision_Stage' } FIELD_READERS = { + 'Official_Review': { + 'content_name': 'additional_review_form_options', + 'fields': { + 'secondary_reviewer': [ + Participants.SENIOR_AREA_CHAIRS_ASSIGNED, + Participants.AREA_CHAIRS_ASSIGNED + ], + } + } } UPDATE_WAIT_TIME = 5 diff --git a/openreview/stages/arr_content.py b/openreview/stages/arr_content.py index 09a3e1716..ca901f245 100644 --- a/openreview/stages/arr_content.py +++ b/openreview/stages/arr_content.py @@ -1495,6 +1495,17 @@ "input": "checkbox" } } + }, + "secondary_reviewer": { + "value": { + "param": { + "type": "profile[]", + "regex": "^~\\S+$|([a-z0-9_\\-\\.]{1,}@[a-z0-9_\\-\\.]{2,}\\.[a-z]{2,},){0,}([a-z0-9_\\-\\.]{1,}@[a-z0-9_\\-\\.]{2,}\\.[a-z]{2,})", + "optional": True + } + }, + "description": "If another person contributed significantly to this review, please indicate their OpenReview profile ID here. If they do not have a profile, please ask them to create one. Note that only EICs, SAEs, and AEs can see this field - other reviewers cannot. (optional)", + "order": 24 } } diff --git a/tests/test_arr_venue_v2.py b/tests/test_arr_venue_v2.py index 6aea696ff..539ae367d 100644 --- a/tests/test_arr_venue_v2.py +++ b/tests/test_arr_venue_v2.py @@ -2903,7 +2903,8 @@ def test_resubmission_and_track_matching_data(self, client, openreview_client, h "Knowledge_of_paper": {"value": "After the review process started"}, "Knowledge_of_paper_source": {"value": ["A research talk"]}, "impact_of_knowledge_of_paper": {"value": "A lot"}, - "reviewer_certification": {"value": "Yes"} + "reviewer_certification": {"value": "Yes"}, + "secondary_reviewer": {"value": ["~Reviewer_ARRTwo1"]} } ) ) @@ -2929,7 +2930,8 @@ def test_resubmission_and_track_matching_data(self, client, openreview_client, h "Knowledge_of_paper": {"value": "After the review process started"}, "Knowledge_of_paper_source": {"value": ["A research talk"]}, "impact_of_knowledge_of_paper": {"value": "A lot"}, - "reviewer_certification": {"value": "Yes"} + "reviewer_certification": {"value": "Yes"}, + "secondary_reviewer": {"value": ["~Reviewer_ARRTwo1"]} } ) ) @@ -2962,7 +2964,8 @@ def test_resubmission_and_track_matching_data(self, client, openreview_client, h "Knowledge_of_paper": {"value": "After the review process started"}, "Knowledge_of_paper_source": {"value": ["A research talk"]}, "impact_of_knowledge_of_paper": {"value": "A lot"}, - "reviewer_certification": {"value": "Yes"} + "reviewer_certification": {"value": "Yes"}, + "secondary_reviewer": {"value": ["~Reviewer_ARRTwo1"]} } ) ) @@ -2991,7 +2994,8 @@ def test_resubmission_and_track_matching_data(self, client, openreview_client, h "Knowledge_of_paper": {"value": "After the review process started"}, "Knowledge_of_paper_source": {"value": ["A research talk"]}, "impact_of_knowledge_of_paper": {"value": "A lot"}, - "reviewer_certification": {"value": "Yes"} + "reviewer_certification": {"value": "Yes"}, + "secondary_reviewer": {"value": ["~Reviewer_ARRTwo1"]} } ) ) @@ -3838,7 +3842,8 @@ def generate_official_review_content(tested_field=None): "Knowledge_of_paper": {"value": "After the review process started"}, "Knowledge_of_paper_source": {"value": ["A research talk"]}, "impact_of_knowledge_of_paper": {"value": "A lot"}, - "reviewer_certification": {"value": "Yes"} + "reviewer_certification": {"value": "Yes"}, + "secondary_reviewer": {"value": ["~Reviewer_ARRTwo1"]} } ret_content['ethical_concerns'] = {'value': 'There are no concerns with this submission'} From f60ad8248d50f6c88d32a4837925ec0a110aa9c8 Mon Sep 17 00:00:00 2001 From: Harold Rubio Date: Tue, 29 Oct 2024 14:48:28 -0400 Subject: [PATCH 2/4] Check field readers --- tests/test_arr_venue_v2.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/test_arr_venue_v2.py b/tests/test_arr_venue_v2.py index 539ae367d..faeb80bb4 100644 --- a/tests/test_arr_venue_v2.py +++ b/tests/test_arr_venue_v2.py @@ -3883,6 +3883,13 @@ def generate_official_review_content(tested_field=None): review = pc_client_v2.get_note(id=rev_edit['note']['id']) assert 'readers' not in review.content['reviewer_certification'] + assert 'readers' in review.content['secondary_reviewer'] + assert review.content['secondary_reviewer']['readers'] == [ + 'aclweb.org/ACL/ARR/2023/August', + 'aclweb.org/ACL/ARR/2023/August/Submission3/Senior_Area_Chairs', + 'aclweb.org/ACL/ARR/2023/August/Submission3/Area_Chairs', + user + ] return rev_edit, pc_client_v2.get_note(test_submission.id) From 90b10caeebb84ba66e141807c2ad3b6f17e12ccc Mon Sep 17 00:00:00 2001 From: Harold Rubio Date: Tue, 29 Oct 2024 16:36:50 -0400 Subject: [PATCH 3/4] Add signature to readers --- openreview/arr/helpers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openreview/arr/helpers.py b/openreview/arr/helpers.py index 2d56bb907..da3ed989b 100644 --- a/openreview/arr/helpers.py +++ b/openreview/arr/helpers.py @@ -1200,7 +1200,8 @@ class Participants(Enum): 'fields': { 'secondary_reviewer': [ Participants.SENIOR_AREA_CHAIRS_ASSIGNED, - Participants.AREA_CHAIRS_ASSIGNED + Participants.AREA_CHAIRS_ASSIGNED, + Participants.SIGNATURE ], } } From 51a1211f666529941f3b1657bcfaf4f097a08fc3 Mon Sep 17 00:00:00 2001 From: Harold Rubio Date: Thu, 31 Oct 2024 16:26:08 -0400 Subject: [PATCH 4/4] Check for PCs instead of venue --- tests/test_arr_venue_v2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_arr_venue_v2.py b/tests/test_arr_venue_v2.py index faeb80bb4..0d8c77320 100644 --- a/tests/test_arr_venue_v2.py +++ b/tests/test_arr_venue_v2.py @@ -3885,7 +3885,7 @@ def generate_official_review_content(tested_field=None): assert 'readers' not in review.content['reviewer_certification'] assert 'readers' in review.content['secondary_reviewer'] assert review.content['secondary_reviewer']['readers'] == [ - 'aclweb.org/ACL/ARR/2023/August', + 'aclweb.org/ACL/ARR/2023/August/Program_Chairs', 'aclweb.org/ACL/ARR/2023/August/Submission3/Senior_Area_Chairs', 'aclweb.org/ACL/ARR/2023/August/Submission3/Area_Chairs', user