SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 00a1f9d8 authored by George Katsikas's avatar George Katsikas :goat:
Browse files

set refereeing cycle deadline to journal default

related to #302
parent 7a8a6b08
No related branches found
No related tags found
No related merge requests found
...@@ -193,6 +193,14 @@ class Journal(models.Model): ...@@ -193,6 +193,14 @@ class Journal(models.Model):
] ]
return list(chain(*criteria)) return list(chain(*criteria))
@property
def is_flagship(self):
"""
Return True if this Journal is a flagship Journal,
i.e. if its name is of the form "SciPost [Field]".
"""
return self.name == "SciPost " + self.college.acad_field.name
def get_issues(self): def get_issues(self):
from journals.models import Issue from journals.models import Issue
......
__copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)" __copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3" __license__ = "AGPL v3"
import abc
import datetime import datetime
import json import json
...@@ -235,7 +236,7 @@ class NeedRefereesAction(BaseAction): ...@@ -235,7 +236,7 @@ class NeedRefereesAction(BaseAction):
return text return text
class BaseCycle: class BaseCycle(abc.ABC):
"""A base blueprint for the Submission refereeing cycle. """A base blueprint for the Submission refereeing cycle.
The refereeing process may be defined differently for every cycle class by its own The refereeing process may be defined differently for every cycle class by its own
...@@ -243,7 +244,6 @@ class BaseCycle: ...@@ -243,7 +244,6 @@ class BaseCycle:
permissions and the overall refereeing process. permissions and the overall refereeing process.
""" """
days_for_refereeing = 28
can_invite_referees = True can_invite_referees = True
def __init__(self, submission: "Submission"): def __init__(self, submission: "Submission"):
...@@ -256,6 +256,11 @@ class BaseCycle: ...@@ -256,6 +256,11 @@ class BaseCycle:
self.update_required_actions() self.update_required_actions()
return self._required_actions return self._required_actions
@property
@abc.abstractmethod
def days_for_refereeing(self):
return 0
@property @property
def minimum_number_of_referees(self): def minimum_number_of_referees(self):
if ( if (
...@@ -433,7 +438,14 @@ class BaseCycle: ...@@ -433,7 +438,14 @@ class BaseCycle:
class RegularCycle(BaseCycle): class RegularCycle(BaseCycle):
pass """
Regular refereeing cycle, used for the first round of refereeing.
Duration differs based on the journal, according to article 3.6.3 of the by-laws.
"""
@property
def days_for_refereeing(self):
return self._submission.submitted_to.refereeing_period
class ShortCycle(BaseCycle): class ShortCycle(BaseCycle):
...@@ -442,7 +454,9 @@ class ShortCycle(BaseCycle): ...@@ -442,7 +454,9 @@ class ShortCycle(BaseCycle):
by the editor. by the editor.
""" """
days_for_refereeing = 14 @property
def days_for_refereeing(self):
return 2 * 7 # 2 weeks
@property @property
def minimum_number_of_referees(self): def minimum_number_of_referees(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment