module
pretalx.submission.domain.cfp
Functions 4
access_code_blocker(event) -> str | Nonesource
def access_code_blocker(event) -> str | None:
submission_types, __ = available_submission_types_for_submitter(event)
if not submission_types.exists():
return "submission_type"
if event.cfp.require_track and event.has_active_tracks:
tracks, __ = available_tracks_for_submitter(event)
if not tracks.exists():
return "track"
return None
can_submit_without_access_code(event) -> boolsource
def can_submit_without_access_code(event) -> bool:
return access_code_blocker(event) is None
cfp_deadlines(event)source
def cfp_deadlines(event):
deadlines = [
(deadline.astimezone(event.tz), submission_type)
for deadline, types in submission_types_by_deadline(event).items()
for submission_type in types
]
if event.cfp.deadline:
deadlines.append((event.cfp.deadline.astimezone(event.tz), None))
return deadlines
submission_types_by_deadline(event)source
def submission_types_by_deadline(event):
deadlines = defaultdict(list)
for submission_type in event.submission_types.filter(deadline__isnull=False):
deadlines[submission_type.deadline].append(submission_type)
return dict(deadlines)