def _init_definition(self): self.defineNodes( start=StartEventDefinition(), pg=ParallelGatewayDefinition(), #First loop pgblock1=ParallelGatewayDefinition(), pgblock1sync=ParallelGatewayDefinition(), egblock1=ExclusiveGatewayDefinition(), archiveculturalevent=ActivityDefinition( contexts=[ArchiveCulturalEvent], description=_("Archive cultural events"), title=_("Archive cultural events"), groups=[]), send_newsletters=ActivityDefinition( contexts=[SendNewsletters], description=_("Send newsletters"), title=_("Send newsletters"), groups=[]), alert_users=ActivityDefinition(contexts=[AlertUsers], description=_("Alert users"), title=_("Alert users"), groups=[]), timerblock1=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=calculate_next_date_block1)), #Second loop pgblock2=ParallelGatewayDefinition(), pgblock2sync=ParallelGatewayDefinition(), egblock2=ExclusiveGatewayDefinition(), synchronizepublishsettings=ActivityDefinition( contexts=[SynchronizePublishSettings], description=_("Synchronize publish settings"), title=_("Synchronize publish settings"), groups=[]), timerblock2=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=calculate_next_date_block2)), end=EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'pg'), #First loop TransitionDefinition('pg', 'egblock1'), TransitionDefinition('egblock1', 'pgblock1'), TransitionDefinition('pgblock1', 'archiveculturalevent'), TransitionDefinition('archiveculturalevent', 'pgblock1sync'), TransitionDefinition('pgblock1', 'send_newsletters'), TransitionDefinition('send_newsletters', 'pgblock1sync'), TransitionDefinition('pgblock1', 'alert_users'), TransitionDefinition('alert_users', 'pgblock1sync'), TransitionDefinition('pgblock1sync', 'timerblock1'), TransitionDefinition('timerblock1', 'egblock1'), #Second loop TransitionDefinition('pg', 'egblock2'), TransitionDefinition('egblock2', 'pgblock2'), TransitionDefinition('pgblock2', 'synchronizepublishsettings'), TransitionDefinition('synchronizepublishsettings', 'pgblock2sync'), TransitionDefinition('pgblock2sync', 'timerblock2'), TransitionDefinition('timerblock2', 'egblock2'), )
def _init_definition(self): self.defineNodes( start=StartEventDefinition(), eg1=ExclusiveGatewayDefinition(), pg1=ParallelGatewayDefinition(), eg2=ExclusiveGatewayDefinition(), correct=ActivityDefinition(contexts=[CorrectProposal], description=_("Improve the proposal"), title=_("Improve"), groups=[]), correctitem=ActivityDefinition(contexts=[CorrectItem], description=_("Correct item"), title=_("Correct"), groups=[]), close_work=ActivityDefinition(contexts=[CloseWork], description=_("Close the work"), title=_("Close the work"), groups=[]), timer=IntermediateCatchEventDefinition( TimerEventDefinition( time_date=calculate_improvement_cycle_date)), end=EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'pg1'), TransitionDefinition('pg1', 'correct'), TransitionDefinition('pg1', 'correctitem'), TransitionDefinition('pg1', 'timer'), TransitionDefinition('timer', 'close_work'), TransitionDefinition('close_work', 'end'), )
def _init_definition(self): self.defineNodes( start=StartEventDefinition(), pg=ParallelGatewayDefinition(), timer=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=time_date)), conditional=IntermediateCatchEventDefinition( ConditionalEventDefinition(event_condition)), eg=ExclusiveGatewayDefinition(), end=EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'pg'), TransitionDefinition('pg', 'timer'), TransitionDefinition('pg', 'conditional'), TransitionDefinition('conditional', 'eg'), TransitionDefinition('timer', 'eg'), TransitionDefinition('eg', 'end'), )
def _init_definition(self): self.defineNodes( start=StartEventDefinition(), eg=ExclusiveGatewayDefinition(), eg1=ExclusiveGatewayDefinition(), eg2=ExclusiveGatewayDefinition(), pg=ParallelGatewayDefinition(), votingpublication=SubProcessDefinition( pd='ballotprocess', contexts=[VotingPublication], description=_("Start voting for publication"), title=_("Start voting for publication"), groups=[]), timer_alert=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=alert_end_cycle_duration)), alert_end=ActivityDefinition( contexts=[AlertEnd], description=_("Alert for the end of an improvement cycle"), title=_("Alert for the end of an improvement cycle"), groups=[]), work=WorkSubProcessDefinition(pd='None', contexts=[Work], description=_("Start work"), title=_("Start work"), groups=[]), submit=ActivityDefinition( contexts=[SubmitProposal], description=_("Submit the proposal as is"), title=_("Submit"), groups=[]), end=EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'eg'), TransitionDefinition('eg', 'votingpublication', sync=True), TransitionDefinition('votingpublication', 'eg1'), TransitionDefinition('eg1', 'pg', amendable_condition, sync=True), TransitionDefinition('pg', 'eg2'), TransitionDefinition('eg2', 'timer_alert'), TransitionDefinition('timer_alert', 'alert_end'), TransitionDefinition('alert_end', 'eg2', has_alert_condition, sync=True), TransitionDefinition('pg', 'work'), TransitionDefinition('eg1', 'submit', publish_condition, sync=True), TransitionDefinition('submit', 'end'), TransitionDefinition('work', 'eg'), )
def _init_definition(self): self.defineNodes( start=StartEventDefinition(), timer=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=time_date)), alert=ActivityDefinition(contexts=[AlertRegistration], description=_("User registration"), title=_("User registration"), groups=[]), end=EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'timer'), TransitionDefinition('timer', 'alert'), TransitionDefinition('alert', 'end'), )
def _process_definition_with_activity_after_start_event(self): """ G1(+), G2(+): parallel gateways S: start event E: End event St: Signal throwing Sc: Signal catching A, B, D: activities ----- ------ -->| A |-->| St |-- ----- ----- --------- / ----- ------ \ --------- ----- | S |-->| B |-->| G1(+) |- ------ ----- -| G2(+) |-->| E | ----- ----- --------- \-->| Sc |->| D |---/ --------- ----- ------ ----- """ pd = ProcessDefinition(**{'id': u'sample'}) self.app['sample'] = pd pd.defineNodes( s=StartEventDefinition(), g1=ParallelGatewayDefinition(), g2=ParallelGatewayDefinition(), a=ActivityDefinition(), b=ActivityDefinition(), d=ActivityDefinition(), e=EndEventDefinition(), st=IntermediateThrowEventDefinition( SignalEventDefinition(ref_signal)), sc=IntermediateCatchEventDefinition( SignalEventDefinition(ref_signal)), ) pd.defineTransitions( TransitionDefinition('s', 'b'), TransitionDefinition('b', 'g1'), TransitionDefinition('g1', 'a'), TransitionDefinition('g1', 'sc'), TransitionDefinition('a', 'st'), TransitionDefinition('sc', 'd'), TransitionDefinition('st', 'g2'), TransitionDefinition('d', 'g2'), TransitionDefinition('g2', 'e'), ) self.config.scan(example) return pd
def _init_definition(self): self.defineNodes( start = StartEventDefinition(), eg1 = ExclusiveGatewayDefinition(), pg1 = ParallelGatewayDefinition(), eg2 = ExclusiveGatewayDefinition(), votingamendments = SubProcessDefinitionAmendments(pd='ballotprocess', contexts=[VotingAmendments], description=_("Start voting on amendments"), title=_("Start voting on amendments"), groups=[]), alert = ActivityDefinition(contexts=[Alert], description=_("Alert"), title=_("Alert"), groups=[]), timer = IntermediateCatchEventDefinition(TimerEventDefinition(time_date=calculate_improvement_cycle_date)), amendmentsresult = ActivityDefinition(contexts=[AmendmentsResult], description=_("Result of the vote on amendments"), title=_("Result of the vote on amendments"), groups=[]), improve = ActivityDefinition(contexts=[ImproveProposal], description=_("Improve the proposal"), title=_("Improve"), groups=[]), improveandexplain = ActivityDefinition(contexts=[ImproveProposalAndExplain], description=_("Improve and explain"), title=_("Improve and explain"), groups=[]), end = EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'pg1'), TransitionDefinition('pg1', 'improve'), TransitionDefinition('pg1', 'improveandexplain'), TransitionDefinition('pg1', 'timer'), TransitionDefinition('timer', 'eg1'), TransitionDefinition('eg1', 'votingamendments', eg4_votingamendments_condition, sync=True), TransitionDefinition('eg1', 'alert', eg4_alert_condition, sync=True), TransitionDefinition('alert', 'eg2'), TransitionDefinition('votingamendments', 'amendmentsresult'), TransitionDefinition('amendmentsresult', 'eg2'), TransitionDefinition('eg2', 'end'), )
def _init_definition(self): self.defineNodes( start=StartEventDefinition(), pg=ParallelGatewayDefinition(), pg1=ParallelGatewayDefinition(), pg2=ParallelGatewayDefinition(), creat=ActivityDefinition(contexts=[CreateGame], description=_("Create a game"), title=_("Create a game"), groups=[_('Add')]), edit=ActivityDefinition(contexts=[EditGame], description=_("Edit the game"), title=_("Edit the game"), groups=[]), submit=ActivityDefinition(contexts=[SubmitGame], description=_("Submit the game"), title=_("Submit"), groups=[]), withdraw=ActivityDefinition(contexts=[WithdrawGame], description=_("Withdraw the game"), title=_("Withdraw"), groups=[]), reject=ActivityDefinition(contexts=[RejectGame], description=_("Reject the game"), title=_("Reject"), groups=[]), publish=ActivityDefinition(contexts=[PublishGame], description=_("Publish the game"), title=_("Publish"), groups=[]), archive=ActivityDefinition(contexts=[ArchiveGame], description=_("Archive the game"), title=_("Archive"), groups=[]), remove=ActivityDefinition(contexts=[RemoveGame], description=_("Remove the game"), title=_("Remove"), groups=[]), draw=ActivityDefinition(contexts=[Draw], description=_("Draw"), title=_("Draw"), groups=[]), send_result=ActivityDefinition(contexts=[SendResult], description=_("Send the result"), title=_("Send the result"), groups=[]), timer_start=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=timer_start)), system_publish=ActivityDefinition( contexts=[SystemPublishGame], description=_("Publish the game"), title=_("Publish"), groups=[]), participate=ActivityDefinition(contexts=[Participate], description=_("Participate"), title=_("Participate"), groups=[]), timer_end=IntermediateCatchEventDefinition( TimerEventDefinition(time_date=timer_end)), eg=ExclusiveGatewayDefinition(), eg1=ExclusiveGatewayDefinition(), eg2=ExclusiveGatewayDefinition(), end=EndEventDefinition(), ) self.defineTransitions( TransitionDefinition('start', 'creat'), TransitionDefinition('creat', 'eg'), TransitionDefinition('eg', 'pg'), TransitionDefinition('pg', 'edit'), TransitionDefinition('pg', 'submit'), TransitionDefinition('submit', 'eg1'), TransitionDefinition('eg1', 'withdraw'), TransitionDefinition('withdraw', 'eg'), TransitionDefinition('eg1', 'publish'), TransitionDefinition('pg1', 'archive'), TransitionDefinition('archive', 'eg2'), TransitionDefinition('pg', 'remove'), TransitionDefinition('remove', 'eg2'), TransitionDefinition('eg1', 'reject'), TransitionDefinition('reject', 'eg2'), TransitionDefinition('publish', 'pg1'), TransitionDefinition('pg1', 'timer_start'), TransitionDefinition('timer_start', 'system_publish'), TransitionDefinition('system_publish', 'pg2'), TransitionDefinition('pg2', 'timer_end'), TransitionDefinition('pg2', 'participate'), TransitionDefinition('timer_end', 'draw'), TransitionDefinition('draw', 'send_result'), TransitionDefinition('send_result', 'eg2'), TransitionDefinition('eg2', 'end'), )