diff options
author | Magnus Hagander | 2023-07-12 10:52:22 +0000 |
---|---|---|
committer | Magnus Hagander | 2023-07-12 10:52:22 +0000 |
commit | a66b28d89b7f8d3423b0b9e9a534804337ae4bda (patch) | |
tree | c32f756d8ea7b9f35e3bd7ba8f43d6cb0cae949b | |
parent | be8ad0fab6c3ced4c32845126f973048b33e37d1 (diff) |
Don't try to store DigisignDocument for non-digisign contracts
Merge mistake when merging the dev code. We never store a
DigisignDocument for non-digital contracts, and should thus not do it
when re-sending the contract either.
-rw-r--r-- | postgresqleu/confsponsor/views.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/postgresqleu/confsponsor/views.py b/postgresqleu/confsponsor/views.py index 5413048d..615128ee 100644 --- a/postgresqleu/confsponsor/views.py +++ b/postgresqleu/confsponsor/views.py @@ -1158,20 +1158,22 @@ def sponsor_admin_sponsor_resendcontract(request, confurlname, sponsorid): if error: messages.error(request, "Failed to generate and send sponsor contract. Old contract still remains.") else: - # If there is *already* a digital contract for this sponsor, it must be canceled. - if sponsor.contract: - err = conference.contractprovider.get_implementation().cancel_contract(sponsor.contract.documentid) - if err: - messages.error(request, "Error occurred when canceling the old contract. New contract is still processed, old contract may be orphaned! Error: {}".format(err)) - sponsor.contract = None - - sponsor.contract = DigisignDocument( - provider=conference.contractprovider, - documentid=contractid, - handler='confsponsor', - ) - sponsor.contract.save() - sponsor.save(update_fields=['contract', ]) + if sponsor.signmethod == 0: + # If there is *already* a digital contract for this sponsor, it must be canceled. + if sponsor.contract: + err = conference.contractprovider.get_implementation().cancel_contract(sponsor.contract.documentid) + if err: + messages.error(request, "Error occurred when canceling the old contract. New contract is still processed, old contract may be orphaned! Error: {}".format(err)) + sponsor.contract = None + + # Store the new digital contract reference + sponsor.contract = DigisignDocument( + provider=conference.contractprovider, + documentid=contractid or '', + handler='confsponsor', + ) + sponsor.contract.save() + sponsor.save(update_fields=['contract', ]) send_conference_sponsor_notification( conference, |