toulouse-maelis: gérer au mieux les factures renvoyées en double par maélis (#79157) #303
Closed
nroche
wants to merge 2 commits from
wip/79157-parsifal-validate-basket-with-duplicated-invoice
into main
pull from: wip/79157-parsifal-validate-basket-with-duplicated-invoice
merge into: entrouvert:main
entrouvert:main
entrouvert:wip/90217-r2p-spi
entrouvert:wip/89982-Interpreter-true-false-yes-no-co
entrouvert:wip/83187-configurer-linter-js
entrouvert:wip/90164-save-normalized-family-id
entrouvert:wip/90074-updating-maelis-notification-date
entrouvert:wip/88641-jobs-pouvoir-filtrer-sur-le-stat
entrouvert:wip/88960-ResourceLog-utiliser-un-index-BR
entrouvert:wip/88953-Optimiser-les-requetes-de-suppre
entrouvert:wip/88886-proxy-timeout-0-for-system
entrouvert:wip/88089-caldav-lib-compatibility
entrouvert:wip/86412-cache-lecteur
entrouvert:wip/87549-parsifal-accept-unlinked-user-on-get-endpoints
entrouvert:hotfix/v7.95
entrouvert:hotfix/v7.90
entrouvert:wip/86503-parsifal-no-api-error-on-dlnuf-endpoint
entrouvert:wip/85703-Tester-le-gain-de-performance-d
entrouvert:wip/74682-manage-error-on-search
entrouvert:wip/83257-toulouse-maelis-ne-pas-se-baser
entrouvert:wip/83272-hide-canceled-invoices
entrouvert:hotfix/v7.58
entrouvert:wip/81826-axel-caluire-on_demand
entrouvert:wip/81346-retours-foederis
entrouvert:wip/80744-parsifal-update-only-doctor
entrouvert:wip/79982-opengis-namespaces
entrouvert:wip/74978-parsifal-manage-subscribe-indicator
entrouvert:wip/xxxxx-parsifal-manage-subscribe-indicator-rebasing
entrouvert:wip/79611-esup-empty-params
entrouvert:wip/68414-photon-accept-empty-feature
entrouvert:wip/78260-greco-null
entrouvert:wip/76398-parsifal-notify-wcs
entrouvert:wip/77547-remove-flagCom-from-payloads
entrouvert:wip/parsifal-reorder-invoice-diff-log
entrouvert:hotfix/api-entreprise
entrouvert:hotfix/v7.15
entrouvert:wip/43479-connecteur-avis-imposition
entrouvert:wip/76394-parsifal-pay-invoice-async
entrouvert:wip/76430-utiliser-hobo-multitenant-spoole
entrouvert:wip/76448-zeep-logger
entrouvert:hotfix/v7.7
entrouvert:wip/76117-pillow-limit
entrouvert:wip/75425-parsifal-update-week-calendar
entrouvert:wip/75552-parsifal-subscribed-activity-by-school-year
entrouvert:wip/75549-parsifal-add-year-nature-subscriptions
entrouvert:wip/75812-parsifal-add-activity-referentials
entrouvert:wip/75652-bypass-cache-on-activity-catalog
entrouvert:wip/74763-parsifal-direct-subscription
entrouvert:wip/75810-parsifal-update-wsdls
entrouvert:wip/75472-parsifal-subscribed-activity-data
entrouvert:wip/75752-parsifal-add-natures-fields
entrouvert:wip/75455-parsifal-rl-and-child-data
entrouvert:wip/74446-parsifal-detail-nursery-referential
entrouvert:wip/74445-parsifal-manage-ape-indicators
entrouvert:wip/75475-parsifal-add-regie-referential
entrouvert:wip/74645-parsifal-update-functests
entrouvert:wip/75535-parsifal-basket-multi-regie
entrouvert:wip/75144-parsifal-agenda-on-subscription
entrouvert:wip/75584-parsifal-new-activity-wsdl
entrouvert:wip/74860-parsifal-conveyance-on-subscription
entrouvert:wip/75078-pdf-hide-fields-mapping
entrouvert:wip/74978-parsifal-indicator-on-subscrition
entrouvert:wip/74858-parsifal-optional-recurrent-week
entrouvert:wip/74977-parsifal-subscription-indicator-data
entrouvert:wip/74859-parsifal-subscription-conveyance-data
entrouvert:wip/74447-parsifal-subscription-conveyance-data
entrouvert:wip/74836-parsifal-get-last-activity-wsdl
entrouvert:wip/74784-parsifal-filter-activity-nature-data
entrouvert:wip/74761-parsifal-manage-subscribe-indicator
entrouvert:wip/74447-parsifal-detail-nature-type-referentials
entrouvert:wip/74762-parsifal-conveyance
entrouvert:wip/74797-pdf-add-xfdf-template
entrouvert:wip/74749-parsifal-rename-assert-functions
entrouvert:wip/74438-parsifal-recurrent-week
entrouvert:wip/72310-parsifal-search-endpoints
entrouvert:wip/74272-parsifal-nature-catalog-parameter
entrouvert:wip/74193-parsifal-basket-endpoint-post-payload
entrouvert:wip/74510-parsifal-refine-catalog-type-criteria
entrouvert:wip/74083-parsifal-endpoint-parameter-description
entrouvert:wip/74481-filr-accept-empty-emails-in-share-folder
entrouvert:wip/73544-add-fill-form-in-pdf-connector
entrouvert:wip/74089-optional-data-parameter
entrouvert:wip/74393-parsifal-ape-geojson
entrouvert:wip/74401-parsifal-ape-indicators
entrouvert:wip/74367-filr-int
entrouvert:wip/74195-parsifal-dui-add-profesion-fields
entrouvert:wip/73760-clean
entrouvert:wip/73760-wtf
entrouvert:wip/73411-maelis-manage-soap-error
entrouvert:wip/74256-ens-api-2-1-1
entrouvert:wip/74087-parsifal-description-coherence
entrouvert:wip/74187-parsifal-upgrade-functest
entrouvert:wip/74128-parsifal-alway-call-serializer
entrouvert:wip/74194-parsifal-derog-school-list
entrouvert:wip/74188-parsifal-activity-ref-indentation
entrouvert:wip/74185-activity-without-nature
entrouvert:wip/74184-parsifal-empty-referential
entrouvert:wip/74152-parsifal-manage-basket-permission
entrouvert:wip/73664-filr-rest-django4ization
entrouvert:wip/74088-parsifal-set-integer-on-err
entrouvert:wip/74084-parsifal-alway-call-serializer
entrouvert:wip/73730-parsifal-full-activity-catalog
entrouvert:wip/73961-parsifal-basket
entrouvert:wip/73649-parsifal-add-person-unit-basket
entrouvert:wip/73648-parsifal-get-person-unit-info
entrouvert:wip/73540-add-pdf-cat
entrouvert:wip/74060-pylint-2-16
entrouvert:wip/74044-pre-commit-upgrade-isort
entrouvert:wip/73953-decrease-requests-timeout-to-9s-by-default
entrouvert:wip/73759-parsifal-geojson-person-catalog
entrouvert:wip/73734-parsifal-person-activity-catalog
entrouvert:wip/73794-cmis-reload-folder-object
entrouvert:wip/73466-cmis-watch
entrouvert:wip/73443-nom-voie
entrouvert:wip/73500-array-object
entrouvert:wip/73560-file-storage-icons
entrouvert:wip/73558-cmis-file-storage
entrouvert:wip/73557-filr-verbose
entrouvert:wip/73226-filr-rest
entrouvert:wip/72961-api-entreprise-entreprises
entrouvert:wip/72881-maelis-functest-extend-insurance-end
entrouvert:wip/73334-toulouse-maelis-middle-office
entrouvert:wip/67516-tcl-invalid-data
entrouvert:wip/72777-publik-django-templatetags
entrouvert:wip/72718-update-to-wsdl-v1.9
entrouvert:wip/72532-push-document
entrouvert:wip/72641-date-type-parameter
entrouvert:wip/72632-arcgis-where-list
entrouvert:wip/72572-esabora-jsondecodeerror
entrouvert:wip/72411-maelis-list-family-members
entrouvert:wip/71975-tcl-new-urls
entrouvert:wip/71940-maelis-revision-1857
entrouvert:wip/71858-maelis-add-referentials
entrouvert:wip/71641-toulouse-maelis-update-wsdl
entrouvert:wip/71028-utils-soap-desactiver-par-defaut
entrouvert:wip/70982-maelis-search-referential
entrouvert:wip/70935-maelis-remove-fsl
entrouvert:wip/67612-cmis-get-metadata
entrouvert:wip/67602-cmis-get-file
entrouvert:wip/67627-maelis-check-child-id
entrouvert:wip/70851-maelis-corrections
entrouvert:wip/70814-api-particulier-long-api-key
entrouvert:wip/70595-sms-orange-alert-on-restrictions
entrouvert:wip/xxxxx-maelis-quotients
entrouvert:wip/70610-api-entreprise-v3-simple-compat
entrouvert:wip/70627-maelis-manage-empty-vaccins
entrouvert:wip/70530-maelis-wsdl-update
entrouvert:wip/67549-api-entreprise-v3-clean
entrouvert:wip/70075-maelis-relax-checks-on-soap-responses
entrouvert:wip/70488-api-entreprise-version
entrouvert:wip/70485-maelis-add-caf-text-to-RL
entrouvert:wip/70425-api-version
entrouvert:wip/70474-unflatten-escape
entrouvert:wip/70320-maelis-person-quality-required
entrouvert:wip/70409-sigerly-nom-rue
entrouvert:wip/70309-smart-dst-transition
entrouvert:wip/69970-litteralis-docs-annexes
entrouvert:wip/70115-paylod-cleanup
entrouvert:wip/70181-maelis-no-additional-properties
entrouvert:wip/70252-maelis-endpoint-descriptions
entrouvert:wip/67549-api-entreprise-v3
entrouvert:wip/70176-maelis-return-created-id
entrouvert:wip/70174-templatetag-required-json-field
entrouvert:hotfix/v6.53
entrouvert:wip/67578-uwsgi-conf
entrouvert:wip/70029-maelis-mandatory-address
entrouvert:wip/69972-phonecalls-refresh-existing-calls
entrouvert:wip/69891-maelis-manage-child-persons
entrouvert:wip/69926-manage-person-sex
entrouvert:wip/69783-maelis-child-persons
entrouvert:wip/django-upgrade
entrouvert:wip/djhtml
entrouvert:wip/XXXXX-foederis-candidature
entrouvert:wip/xxxxx-parsifal-todo
entrouvert:wip/66880-parsifal-manage-dui
entrouvert:hotfix/v6.43
entrouvert:hotfix/v6.37
entrouvert:wip/66256-api-entreprise-concordance-dirigeant-association
entrouvert:wip/63630-astre-rest-download
entrouvert:wip/62336-orange-invert-sender-flag
entrouvert:wip/60964-down-message
entrouvert:hotfix/v5.64
entrouvert:wip/55284-opengis-pyproj-proj-init-warning
entrouvert:wip/55285-opengis-pyproj-upgrading-to-pyproj-2
entrouvert:wip/49764-retry-requests
entrouvert:wip/47172-astregs-add-tiers-number
entrouvert:hotfix/v4.99
entrouvert:hotfix/v4.86
entrouvert:hotfix/v4.83
entrouvert:hotfix/v4.75
entrouvert:hotfix/v4.67
entrouvert:wip/connector-form-parent-class
entrouvert:wip/connector-form-class
entrouvert:hotfix/v4.62
entrouvert:wip/enum34
entrouvert:wip/39959-update-maarch-for-minint
entrouvert:hotfix/v4.40
entrouvert:hotfix/v4.36
entrouvert:wip/36133-jsonschema-add-suppor-for-default-values
entrouvert:hotfix/v4.7
entrouvert:wip/34178-jsonschema-translate
entrouvert:wip/33762-api-entreprise-dont-parse-dates-in-strings
entrouvert:wip/github
entrouvert:wip/aec_interface
entrouvert:wip/dpark_25079
entrouvert:wip/python3
entrouvert:wip/strasbourg-eu
entrouvert:wip/django111
entrouvert:wip/arcgis-tile-poc
entrouvert:wip/unify-serializer-type
entrouvert:wip/arcgis
entrouvert:wip/technocarte
entrouvert:wip/lighter-connectors
entrouvert:8899-log-maarch
entrouvert:wip/mockups
No reviewers
Labels
Clear labels
No items
No Label
Milestone
Clear milestone
No items
No Milestone
Assignees
Clear assignees
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/passerelle#303
Reference in New Issue
No description provided.
Delete Branch "wip/79157-parsifal-validate-basket-with-duplicated-invoice"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Premier patch pour ne pas crasher.
Second patch pour loguer les demandes wcs qui sont impactées.
3842c4d31f
tob4a5ee20a6
Je ne capte ni la situation ni ce qu'on essaie d'en faire.
dans quelle situation, d'un point de vue fonctionne, se trouve-t-on ici ?
En pratique, est-on sur quelque chose qui arrive parce qu'il y a eu nouvelle mise à zéro de leur base de test et ça clashe avec des données résiduelles ?
Est-on sur une vraie situation où une facture avec un id connu existait déjà et une nouvelle avec le même id arrive ?
Si c'est le cas, ça veut plutôt dire que l'ancienne facture côté maélis avec l'identifiant en question n'existe pas ?
Ou est-ce je ne sais comment autre, deux factures différentes qui existent bel et bien avec deux fois le même numéro ?
Autre chose ?
b4a5ee20a6
toa39f5e986b
Sigec a fait le ménage et a remis les compteurs à zéro sur les factures.
Lors de la phase de recette, un agent à Toulouse a fait des tests qui ont amené à créer une facture ayant le même identifiant que la mienne dans Maélis.
Oui.
Oui. Aucune garantie que ça n'arrivera pas un jour en Production.
Oui, elle n'existe plus.
Non, l'ancienne facture n'existe plus que dans le connecteur, et "bloque" l'enregistrement de la nouvelle.
Oui, je pense que c'est ne bonne chose de sortir en erreur sur des doublons de factures.
Après coup, on peut faire accepter la nouvelle facture au connecteur simplement en supprimant l'ancienne à la main.
Cependant, dans le cas des inscriptions panier, on rate le moment où l'on peut associer la facture aux demandes qu'elle concerne.
Les demandes concernées par des factures "doublons" sont notifiées comme si le panier qui leur était associé n'avait pas été validé. Pour améliorer ce point, il faudrait travailler sur les lignes de la facture qui arrive en double, mais sans enregistrer ensuite cette facture.
Il reste que la facture en double ne sera pas supprimée par le connecteur, parce qu'il ne supprime que les factures "panier" et qu'ici il l'identifiera comme étant une "vraie" facture (basket_generation_date à None).
Maélis ne supprimera pas non plus la facture (et l'inscription qui est effective avant que l'usager ait payé) de son côté à priori.
Ces deux derniers points si on veut les traiter, risquent de largement détériorer la lisibilité du code.
a39f5e986b
toe0316d50d4
S'il y a réutilisation de numéros de facture en production il y aura un réel problème général, et ça n'est pas dans le connecteur que les choses arriveront à se gérer.
Bref pour moi c'est juste un problème de recette et 1/ il y a suffisamment à faire et 2/ c'est déjà assez compliqué ainsi, pour justifier de ne rien faire ici.
Donc on peut reprendre la relecture : mes 2 patchs qui font
n'apportent pas de réel changement (ni d'ailleurs dans le code qui se retrouve juste déplacé et ré-indenté).
e0316d50d4
toe88ea1c065
Je suis du même avis que Fred, rien à faire ici, garder le code tel qu'il est (la validation d'un panier doit renvoyer une facture nouvelle, donc un id inconnu du système), mais prévoir une commande de ré-initialisation pendant recette pour supprimer tous les liens famille/facture.
e88ea1c065
to1d93b97101
Oui, j'arrête de compliquer.
Pull request closed