-
George Katsikas authoredb88597b3
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
constants.py 6.48 KiB
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
import itertools
ED_COMM_PARTIES = (
("E", "Editor-in-charge"),
("A", "Author"),
("R", "Referee"),
("S", "SciPost Editorial Administration"),
)
ED_COMM_CHOICES = tuple(
(f"{X}to{Y}", f"{x} to {y}")
for (X, x), (Y, y) in itertools.product(ED_COMM_PARTIES, repeat=2)
if X != Y
)
REFEREE_QUALIFICATION = (
(None, "-"),
(4, "expert in this subject"),
(3, "very knowledgeable in this subject"),
(2, "knowledgeable in this subject"),
(1, "generally qualified"),
(0, "not qualified"),
)
QUALITY_SPEC = (
(None, "-"),
(6, "perfect"),
(5, "excellent"),
(4, "good"),
(3, "reasonable"),
(2, "acceptable"),
(1, "below threshold"),
(0, "mediocre"),
)
# Only values between 0 and 100 are kept, anything outside those limits is discarded.
RANKING_CHOICES = (
(None, "-"),
(100, "top"),
(80, "high"),
(60, "good"),
(40, "ok"),
(20, "low"),
(0, "poor"),
)
REPORT_PUBLISH_1, REPORT_PUBLISH_2, REPORT_PUBLISH_3 = 1, 2, 3
REPORT_MINOR_REV, REPORT_MAJOR_REV = -1, -2
REPORT_REJECT = -3
REPORT_ALT_JOURNAL = -4
REPORT_REC = (
(None, "-"),
(
REPORT_PUBLISH_1,
"Publish (surpasses expectations and criteria for this Journal; among top 10%)",
),
(
REPORT_PUBLISH_2,
"Publish (easily meets expectations and criteria for this Journal; among top 50%)",
),
(REPORT_PUBLISH_3, "Publish (meets expectations and criteria for this Journal)"),
(REPORT_MINOR_REV, "Ask for minor revision"),
(REPORT_MAJOR_REV, "Ask for major revision"),
(REPORT_ALT_JOURNAL, "Accept in alternative Journal (see Report)"),
(REPORT_REJECT, "Reject"),
)
#
# Reports
#
REPORT_ACTION_ACCEPT = "accept"
REPORT_ACTION_REFUSE = "refuse"
REPORT_ACTION_CHOICES = (
(REPORT_ACTION_ACCEPT, "accept"),
(REPORT_ACTION_REFUSE, "refuse"),
)
STATUS_DRAFT = "draft"
STATUS_VETTED = "vetted"
STATUS_UNVETTED = "unvetted"
STATUS_UNCLEAR = "unclear"
STATUS_INCORRECT = "incorrect"
STATUS_NOT_USEFUL = "notuseful"
STATUS_NOT_ACADEMIC = "notacademic"
STATUS_DUPLICATE = "duplicate"
REPORT_REFUSAL_CHOICES = (
(None, "-"),
(STATUS_UNCLEAR, "insufficiently clear"),
(STATUS_INCORRECT, "not fully factually correct"),
(STATUS_NOT_USEFUL, "not useful for the authors"),
(STATUS_NOT_ACADEMIC, "not sufficiently academic in style"),
(STATUS_DUPLICATE, "duplicate"),
)
REPORT_STATUSES = (
(STATUS_DRAFT, "Draft"),
(STATUS_VETTED, "Vetted"),
(STATUS_UNVETTED, "Unvetted"),
(STATUS_INCORRECT, "Rejected (incorrect)"),
(STATUS_UNCLEAR, "Rejected (unclear)"),
(STATUS_NOT_USEFUL, "Rejected (not useful)"),
(STATUS_NOT_ACADEMIC, "Rejected (not academic in style)"),
(STATUS_DUPLICATE, "Rejected (duplicate)"),
)
REPORT_NORMAL = "report_normal"
REPORT_POST_EDREC = "report_post_edrec"
REPORT_TYPES = (
(REPORT_NORMAL, "Normal Report"),
(REPORT_POST_EDREC, "Post-Editorial Recommendation Report"),
)
CYCLE_UNDETERMINED = ""
CYCLE_DEFAULT, CYCLE_SHORT, CYCLE_DIRECT_REC = "default", "short", "direct_rec"
SUBMISSION_CYCLE_CHOICES = (
(CYCLE_DEFAULT, "Default cycle"),
(CYCLE_SHORT, "Short cycle"),
(CYCLE_DIRECT_REC, "Direct editorial recommendation"),
)
SUBMISSION_CYCLES = (
(CYCLE_UNDETERMINED, "Cycle undetermined"),
) + SUBMISSION_CYCLE_CHOICES
EVENT_GENERAL = "gen"
EVENT_FOR_EDADMIN = "edad"
EVENT_FOR_EIC = "eic"
EVENT_FOR_AUTHOR = "auth"
EVENT_TYPES = (
(EVENT_GENERAL, "General comment"),
(EVENT_FOR_EDADMIN, "Comment for EdAdmin"),
(EVENT_FOR_EIC, "Comment for Editor-in-charge"),
(EVENT_FOR_AUTHOR, "Comment for author"),
)
# Editorial recommendations
EIC_REC_PUBLISH = 1
EIC_REC_MINOR_REVISION = -1
EIC_REC_MAJOR_REVISION = -2
EIC_REC_REJECT = -3
EIC_REC_CHOICES = (
(EIC_REC_PUBLISH, "Publish"),
(EIC_REC_MINOR_REVISION, "Ask for minor revision"),
(EIC_REC_MAJOR_REVISION, "Ask for major revision"),
(EIC_REC_REJECT, "Reject"),
)
EIC_REC_CHOICES_SHORT = (
(EIC_REC_PUBLISH, "Publish"),
(EIC_REC_MINOR_REVISION, "Minor revision"),
(EIC_REC_MAJOR_REVISION, "Major revision"),
(EIC_REC_REJECT, "Reject"),
)
# Alternative recommendations
ALT_REC_RECONSULT_REFEREES = -4 # can be used as alternative to direct recommendation
ALT_REC_SEEK_ADDITIONAL_REFEREES = -5
ALT_REC_CHOICES = (
(EIC_REC_PUBLISH, "Publish"),
(ALT_REC_RECONSULT_REFEREES, "Reconsult previous referees"),
(ALT_REC_SEEK_ADDITIONAL_REFEREES, "Seek additional referees"),
(EIC_REC_MINOR_REVISION, "Ask for minor revision"),
(EIC_REC_MAJOR_REVISION, "Ask for major revision"),
(EIC_REC_REJECT, "Reject"),
)
# Tiering
TIER_I = 1
TIER_II = 2
TIER_III = 3
SUBMISSION_TIERS = (
(
TIER_I,
"Tier I (surpasses expectations and criteria for this Journal; among top 10%)",
),
(
TIER_II,
"Tier II (easily meets expectations and criteria for this Journal; among top 50%)",
),
(TIER_III, "Tier III (meets expectations and criteria for this Journal)"),
)
VOTING_IN_PREP, PUT_TO_VOTING, VOTE_COMPLETED = (
"voting_in_prep",
"put_to_voting",
"vote_completed",
)
DECISION_FIXED, DEPRECATED = "decision_fixed", "deprecated"
EIC_REC_STATUSES = (
(VOTING_IN_PREP, "Voting in preparation"),
(PUT_TO_VOTING, "Undergoing voting at the Editorial College"),
(VOTE_COMPLETED, "Editorial College voting rounded up"), # Seemlingly dead?
(DECISION_FIXED, "Editorial Recommendation fixed"),
(DEPRECATED, "Editorial Recommendation deprecated"),
)
EIC_REC_STATUSES_SHORT = (
(VOTING_IN_PREP, "In preparation"),
(PUT_TO_VOTING, "In voting"),
(VOTE_COMPLETED, "Voting completed"),
(DECISION_FIXED, "Rec. fixed"),
(DEPRECATED, "Rec. deprecated"),
)
# Editorial decision
# (see other constants inside class; these are here because they use EIC_REC values)
EDITORIAL_DECISION_CHOICES = (
(EIC_REC_PUBLISH, "Publish"),
(EIC_REC_REJECT, "Reject"),
)
# Plagiarism Report statuses
STATUS_WAITING = "waiting"
STATUS_SENT, STATUS_RECEIVED = "sent", "received"
STATUS_FAILED_DOWNLOAD, STATUS_FAILED_UPLOAD = "fail_down", "fail_up"
PLAGIARISM_STATUSES = (
(STATUS_WAITING, "Awaiting action"),
(STATUS_SENT, "Sent succesfully, awaiting report"),
(STATUS_RECEIVED, "Report received"),
(STATUS_FAILED_DOWNLOAD, "Failed (downloading failed)"),
(STATUS_FAILED_UPLOAD, "Failed (uploading failed)"),
)
# Preprint server-related constants
FIGSHARE_PREPRINT_SERVERS = ("ChemRxiv", "TechRxiv", "Advance")