arxiv.submission.domain.event.proposal module

Commands for working with Proposal instances on submissions.

class arxiv.submission.domain.event.proposal.AcceptProposal(creator, created=None, proxy=None, client=None, submission_id=None, committed=False, before=None, after=None, event_type=<factory>, event_version=<factory>, proposal_id=None, comment=None)[source]

Bases: arxiv.submission.domain.event.base.Event

Accept a Proposal on a submission.

NAME = 'accept proposal'
NAMED = 'proposal accepted'
comment = None
project(submission)[source]

Mark the proposal as accepted.

Return type

Submission

proposal_id = None
validate(submission)[source]

Ensure that the proposal isn’t already approved or rejected.

Return type

None

class arxiv.submission.domain.event.proposal.AddProposal(creator, created=None, proxy=None, client=None, submission_id=None, committed=False, before=None, after=None, event_type=<factory>, event_version=<factory>, proposed_event_type=None, proposed_event_data=<factory>, comment=None)[source]

Bases: arxiv.submission.domain.event.base.Event

Add a new proposal to a Submission.

NAME = 'add proposal'
NAMED = 'proposal added'
comment = None
project(submission)[source]

Add the proposal to the submission.

Return type

Submission

proposed_event_type = None
validate(submission)[source]

Simulate applying the proposal to check for validity.

Return type

None

class arxiv.submission.domain.event.proposal.RejectProposal(creator, created=None, proxy=None, client=None, submission_id=None, committed=False, before=None, after=None, event_type=<factory>, event_version=<factory>, proposal_id=None, comment=None)[source]

Bases: arxiv.submission.domain.event.base.Event

Reject a Proposal on a submission.

NAME = 'reject proposal'
NAMED = 'proposal rejected'
comment = None
project(submission)[source]

Set the status of the proposal to rejected.

Return type

Submission

proposal_id = None
validate(submission)[source]

Ensure that the proposal isn’t already approved or rejected.

Return type

None

arxiv.submission.domain.event.proposal.apply_proposal(event, before, after, creator)[source]

Apply an accepted proposal.

Return type

Iterable[Event]