How to use the river.models.Transition.objects.filter function in river

To help you get started, weโ€™ve selected a few river examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
def _transitions_before(iteration):
            return Transition.objects.filter(workflow=self.workflow, workflow_object=self.workflow_object, iteration__lte=iteration)
github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
)
        transitions = Transition.objects.filter(qs)
        iteration = transition.iteration + 1
        while transitions:
            uncancelled_transitions_qs = uncancelled_transitions_qs | qs
            qs = Q(
                workflow=self.workflow,
                object_id=self.workflow_object.pk,
                iteration=iteration,
                source_state__pk__in=transitions.values_list("destination_state__pk", flat=True),
                status=PENDING
            )
            transitions = Transition.objects.filter(qs)
            iteration += 1

        actual_cancelled_transitions = Transition.objects.filter(cancelled_transitions_qs & ~uncancelled_transitions_qs)
        actual_cancelled_transitions.update(status=CANCELLED)
        TransitionApproval.objects.filter(transition__in=actual_cancelled_transitions).update(status=CANCELLED)
github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
def _get_transition_images(self, source_states):
        meta_max_iteration = Transition.objects.filter(
            workflow=self.workflow,
            workflow_object=self.workflow_object,
            source_state__pk__in=source_states,
        ).values_list("meta").annotate(max_iteration=Max("iteration"))

        return Transition.objects.filter(
            Q(workflow=self.workflow, object_id=self.workflow_object.pk) &
            six.moves.reduce(lambda agg, q: q | agg, [Q(meta__id=meta_id, iteration=max_iteration) for meta_id, max_iteration in meta_max_iteration], Q(pk=-1))
        )
github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
iteration=transition.iteration,
            source_state=transition.source_state,
            destination_state=transition.destination_state
        )
        transitions = Transition.objects.filter(qs)
        iteration = transition.iteration + 1
        while transitions:
            uncancelled_transitions_qs = uncancelled_transitions_qs | qs
            qs = Q(
                workflow=self.workflow,
                object_id=self.workflow_object.pk,
                iteration=iteration,
                source_state__pk__in=transitions.values_list("destination_state__pk", flat=True),
                status=PENDING
            )
            transitions = Transition.objects.filter(qs)
            iteration += 1

        actual_cancelled_transitions = Transition.objects.filter(cancelled_transitions_qs & ~uncancelled_transitions_qs)
        actual_cancelled_transitions.update(status=CANCELLED)
        TransitionApproval.objects.filter(transition__in=actual_cancelled_transitions).update(status=CANCELLED)
github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
def _check_if_it_cycled(self, done_transition):
        qs = Transition.objects.filter(
            workflow_object=self.workflow_object,
            workflow=self.class_workflow.workflow,
            source_state=done_transition.destination_state
        )

        return qs.filter(status=DONE).count() > 0 and qs.filter(status=PENDING).count() == 0
github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
def _get_transition_images(self, source_states):
        meta_max_iteration = Transition.objects.filter(
            workflow=self.workflow,
            workflow_object=self.workflow_object,
            source_state__pk__in=source_states,
        ).values_list("meta").annotate(max_iteration=Max("iteration"))

        return Transition.objects.filter(
            Q(workflow=self.workflow, object_id=self.workflow_object.pk) &
            six.moves.reduce(lambda agg, q: q | agg, [Q(meta__id=meta_id, iteration=max_iteration) for meta_id, max_iteration in meta_max_iteration], Q(pk=-1))
        )
github javrasya / django-river / river / core / instanceworkflowobject.py View on Github external
def cancel_impossible_future(self, approved_approval):
        transition = approved_approval.transition
        qs = Q(
            workflow=self.workflow,
            object_id=self.workflow_object.pk,
            iteration=transition.iteration,
            source_state=transition.source_state,
        ) & ~Q(destination_state=transition.destination_state)

        transitions = Transition.objects.filter(qs)
        iteration = transition.iteration + 1
        cancelled_transitions_qs = Q(pk=-1)
        while transitions:
            cancelled_transitions_qs = cancelled_transitions_qs | qs
            qs = Q(
                workflow=self.workflow,
                object_id=self.workflow_object.pk,
                iteration=iteration,
                source_state__pk__in=transitions.values_list("destination_state__pk", flat=True)
            )
            transitions = Transition.objects.filter(qs)
            iteration += 1

        uncancelled_transitions_qs = Q(pk=-1)
        qs = Q(
            workflow=self.workflow,