framework:
    workflows:
        vendee_internal:
            type: state_machine
            metadata:
                related_entity:
                        - Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument
                        - Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork
                        - Chill\DocStoreBundle\Entity\AccompanyingCourseDocument
                label:
                    fr: 'Suivi'
            support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy
            initial_marking: 'initial'
            places:
                initial:
                    metadata:
                        label:
                            fr: Étape initiale
                attenteModification:
                    metadata:
                        label:
                            fr: En attente de modification du document
                        validationFilterInputLabels:
                            forward: {fr: Modification effectuée}
                            backward: {fr: Pas de modification effectuée}
                            neutral: {fr: Autre}
                attenteMiseEnForme:
                    metadata:
                        label:
                            fr: En attente de mise en forme
                        validationFilterInputLabels:
                            forward: {fr: Mise en forme terminée}
                            backward: {fr: Pas de mise en forme effectuée}
                            neutral: {fr: Autre}
                attenteVisa:
                    metadata:
                        label:
                            fr: En attente de visa
                        validationFilterInputLabels:
                            forward: {fr: Visa accordé}
                            backward: {fr: Visa refusé}
                            neutral: {fr: Autre}
                attenteSignature:
                    metadata:
                        label:
                            fr: En attente de signature
                        validationFilterInputLabels:
                            forward: {fr: Signature accordée}
                            backward: {fr: Signature refusée}
                            neutral: {fr: Autre}
                attenteTraitement:
                    metadata:
                        label:
                            fr: En attente de traitement
                        validationFilterInputLabels:
                            forward: {fr: Traitement terminé favorablement}
                            backward: {fr: Traitement terminé défavorablement}
                            neutral: {fr: Autre}
                attenteEnvoi:
                    metadata:
                        label:
                            fr: En attente d'envoi
                        validationFilterInputLabels:
                            forward: {fr: Document envoyé}
                            backward: {fr: Document non envoyé}
                            neutral: {fr: Autre}
                attenteValidationMiseEnForme:
                    metadata:
                        label:
                            fr: En attente de validation de la mise en forme
                        validationFilterInputLabels:
                            forward: {fr: Validation de la mise en forme}
                            backward: {fr: Refus de validation de la mise en forme}
                            neutral: {fr: Autre}
                annule:
                    metadata:
                        isFinal: true
                        isFinalPositive: false
                        label:
                            fr: Annulé
                final:
                    metadata:
                        isFinal: true
                        isFinalPositive: true
                        label:
                            fr: Finalisé
            transitions:
                # transition qui avancent
                demandeModificationDocument:
                    from:
                        - initial
                    to: attenteModification
                    metadata:
                        label:
                            fr: Demande de modification du document
                        isForward: true
                demandeMiseEnForme:
                    from:
                        - initial
                        - attenteModification
                    to: attenteMiseEnForme
                    metadata:
                        label:
                            fr: Demande de mise en forme
                        isForward: true
                demandeValidationMiseEnForme:
                    from:
                        - attenteMiseEnForme
                    to: attenteValidationMiseEnForme
                    metadata:
                        label:
                            fr: Demande de validation de la mise en forme
                        isForward: true
                demandeVisa:
                    from:
                        - initial
                        - attenteModification
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                    to: attenteVisa
                    metadata:
                        label:
                            fr: Demande de visa
                        isForward: true
                demandeSignature:
                    from:
                        - initial
                        - attenteModification
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                        - attenteVisa
                    to: attenteSignature
                    metadata:
                        label: {fr: Demande de signature}
                        isForward: true
                demandeTraitement:
                    from:
                        - initial
                        - attenteModification
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                        - attenteVisa
                        - attenteSignature
                    to: attenteTraitement
                    metadata:
                        label: {fr: Demande de traitement}
                        isForward: true
                demandeEnvoi:
                    from:
                        - initial
                        - attenteModification
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                        - attenteVisa
                        - attenteSignature
                        - attenteTraitement
                    to: attenteEnvoi
                    metadata:
                        label: {fr: Demande d'envoi}
                        isForward: true
                annulation:
                    from:
                        - initial
                        - attenteModification
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                        - attenteVisa
                        - attenteSignature
                        - attenteTraitement
                        - attenteEnvoi
                    to: annule
                    metadata:
                        label: {fr: Annulation}
                        isForward: false
                # transitions qui répètent l'étape
                demandeMiseEnFormeSupplementaire:
                    from:
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                    to: attenteMiseEnForme
                    metadata:
                        label: {fr: Demande de mise en forme supplémentaire}
                demandeVisaSupplementaire:
                    from:
                        - attenteVisa
                    to: attenteVisa
                    metadata:
                        label: {fr: Demande de visa supplémentaire}
                        isForward: true
                demandeSignatureSupplementaire:
                    from:
                        - attenteSignature
                    to: attenteSignature
                    metadata:
                        label: {fr: Demande de signature supplémentaire}
                demandeTraitementSupplementaire:
                    from:
                        - attenteTraitement
                    to: attenteTraitement
                    metadata:
                        label: {fr: Demande de traitement supplémentaire}
                # transitions qui renvoient vers une étape précédente
                refusEtModificationDocument:
                    from:
                        - attenteVisa
                        - attenteSignature
                        - attenteTraitement
                        - attenteEnvoi
                    to: attenteModification
                    metadata:
                        label:
                            fr: Refus et demande de modification du document
                        isForward: false
                refusEtDemandeMiseEnForme:
                    from:
                        - attenteVisa
                        - attenteSignature
                        - attenteTraitement
                        - attenteEnvoi
                    to: attenteMiseEnForme
                    metadata:
                        label: {fr: Refus et demande de mise en forme}
                        isForward: false
                refusEtDemandeVisa:
                    from:
                        - attenteSignature
                        - attenteTraitement
                        - attenteEnvoi
                    to: attenteVisa
                    metadata:
                        label: {fr: Refus et demande de visa}
                        isForward: false
                refusEtDemandeSignature:
                    from:
                        - attenteTraitement
                        - attenteEnvoi
                    to: attenteSignature
                    metadata:
                        label: {fr: Refus et demande de signature}
                        isForward: false
                refusEtDemandeTraitement:
                    from:
                        - attenteEnvoi
                    to: attenteTraitement
                    metadata:
                        label: {fr: Refus et demande de traitement}
                        isForward: false
                # transition vers final
                initialToFinal:
                    from:
                        - initial
                    to: final
                    metadata:
                        label: {fr: Clotûre immédiate et cloture positive}
                        isForward: true
                attenteMiseEnFormeToFinal:
                    from:
                        - attenteMiseEnForme
                        - attenteValidationMiseEnForme
                    to: final
                    metadata:
                        label: {fr: Mise en forme terminée et cloture positive}
                        isForward: true
                attenteVisaToFinal:
                    from:
                        - attenteVisa
                    to: final
                    metadata:
                        label: {fr: Accorde le visa et cloture positive}
                        isForward: true
                attenteSignatureToFinal:
                    from:
                        - attenteSignature
                    to: final
                    metadata:
                        label: {fr: Accorde la signature et cloture positive}
                        isForward: true
                attenteTraitementToFinal:
                    from:
                        - attenteTraitement
                    to: final
                    metadata:
                        label: {fr: Traitement terminé et cloture postive}
                        isForward: true
                attenteEnvoiToFinal:
                    from:
                        - attenteEnvoi
                    to: final
                    metadata:
                        label: {fr: Envoyé et cloture postive}
                        isForward: true