from flask_fsm import transition from handlers.enums import CampaignWorkflowStatus from handlers.transitions_service import TransitionService @transition(target=CampaignWorkflowStatus.DRAFT.value) class DraftTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval_transition_handler(self, instance): self.transition_service.delete_approval_request_campaign(instance) @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(target=CampaignWorkflowStatus.LIVE.value) class LiveTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval_transition_handler(self, instance): self.transition_service.delete_approval_request_campaign(instance) @transition(target=CampaignWorkflowStatus.BOOKED.value) class BookedTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval_transition_handler(self, instance): self.transition_service.delete_approval_request_campaign(instance) @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(target=CampaignWorkflowStatus.PAUSED.value) class PausedTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval_transition_handler(self, instance): self.transition_service.delete_approval_request_campaign(instance) @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(target=CampaignWorkflowStatus.COMPLETED.value) class CompletedTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval_transition_handler(self, instance): self.transition_service.delete_approval_request_campaign(instance) @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(target=CampaignWorkflowStatus.PENDING_APPROVAL.value) class PendingApprovalTransition: @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass @transition(target=CampaignWorkflowStatus.APPROVED.value) class ApprovedTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval(self, instance): self.transition_service.complete_approval_request_campaign( campaign=instance, target_status=CampaignWorkflowStatus.APPROVED.value ) @transition(source=CampaignWorkflowStatus.DISAPPROVED.value) def disapproved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass @transition(target=CampaignWorkflowStatus.DISAPPROVED.value) class DisapprovedTransition: transition_service = TransitionService() @transition(source=CampaignWorkflowStatus.PENDING_APPROVAL.value) def pending_approval(self, instance): self.transition_service.complete_approval_request_campaign( campaign=instance, target_status=CampaignWorkflowStatus.DISAPPROVED.value ) @transition(source=CampaignWorkflowStatus.APPROVED.value) def approved_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.DRAFT.value) def draft_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.LIVE.value) def live_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.PAUSED.value) def paused_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.BOOKED.value) def booked_transition_handler(self, instance): pass @transition(source=CampaignWorkflowStatus.COMPLETED.value) def completed_transition_handler(self, instance): pass