'Submit our verification attempt to Software Secure for validation. This
will set our status to "submitted" if the post is successful, and
"must_retry" if the post fails.
Keyword Arguments:
copy_id_photo_from (SoftwareSecurePhotoVerification): If provided, re-send the ID photo
data from this attempt.  This is used for reverification, in which new face photos
are sent with previously-submitted ID photos.'

@status_before_must_be('must_retry', 'ready', 'submitted')
def submit(self, copy_id_photo_from=None):

    try:
        response = self.send_request(copy_id_photo_from=copy_id_photo_from)
        if response.ok:
            self.submitted_at = datetime.now(pytz.UTC)
            self.status = 'submitted'
            self.save()
        else:
            self.status = 'must_retry'
            self.error_msg = response.text
            self.save()
    except Exception:
        log.exception('Software    Secure    submission    failed    for    user    %s,    setting    status    to    must_retry', self.user.username)
        self.status = 'must_retry'
        self.save()
