def form_valid(self, form):
        application_id = self.request.GET['id']
        record = IdentityGatewayActions().read('user',
                                               params={
                                                   'application_id':
                                                   application_id
                                               }).record
        record['sms_resend_attempts'] = 0
        record['email_expiry_date'] = 0
        IdentityGatewayActions().put('user', params=record)
        response = login_redirect_helper.redirect_by_status(
            record['application_id'])
        CustomAuthenticationHandler.create_session(response,
                                                   {'email': record['email']})

        # Update last accessed time when successfully signed in
        nanny_actions = NannyGatewayActions()
        app_response = nanny_actions.read(
            'application', params={'application_id': application_id})
        if app_response.status_code == 200 and hasattr(app_response, 'record'):
            # application might not exist yet, if user signed out before completing contact details task
            application = app_response.record
            application['date_last_accessed'] = datetime.datetime.now()
            application['application_expiry_email_sent'] = False
            nanny_actions.put('application', application)

        return response
    def __nullify_answers(app_id):
        """
        Function to nullify any relevant workflow answers.
        :param app_id: Applicant's id
        :return: None
        """
        nanny_actions = NannyGatewayActions()

        # Nullify answer to 'Will you work and live at the same address?'
        applicant_home_address_response = NannyGatewayActions().read(
            'applicant-home-address', params={'application_id': app_id})

        if applicant_home_address_response.status_code == 200:
            put_record = applicant_home_address_response.record
            put_record['childcare_address'] = 'null'

            nanny_actions.put('applicant-home-address', params=put_record)