def free_signals(self, request, queryset): filtered_signals = queryset.filter(status__state=workflow.VERZONDEN) with transaction.atomic(): updated_signal_ids = [] for signal in filtered_signals: new_status = Status( _signal=signal, state=workflow.AFGEHANDELD_EXTERN, text='Vastgelopen melding vrijgegeven zonder tussenkomst CityControl.', created_by=request.user.email ) new_status.save() signal.status = new_status signal.save() updated_signal_ids.append(signal.id) if updated_signal_ids: msg = 'Successfully freed the following IDs: {}'.format(','.join( str(_id) for _id in updated_signal_ids )) else: msg = 'No IDs were freed.' transaction.on_commit(lambda: self.message_user(request, msg))
def test_state_te_verzenden_required_target_api_valid(self): new_status = Status(_signal=self.signal, state=workflow.TE_VERZENDEN, target_api=Status.TARGET_API_SIGMAX) new_status.full_clean() new_status.save() self.assertTrue(new_status.id)
def test_state_afgehandeld_text_required_valid(self): new_status = Status(_signal=self.signal, state=workflow.BEHANDELING, text='Working on it.') new_status.full_clean() new_status.save() self.signal.status = new_status self.signal.save() new_status = Status(_signal=self.signal, state=workflow.AFGEHANDELD, text='Done with it.') new_status.full_clean() new_status.save() self.assertTrue(new_status.id)
def test_state_transition_valid(self): new_status = Status(_signal=self.signal, state=workflow.AFWACHTING) new_status.full_clean() new_status.save() self.assertTrue(new_status.id)