def voter_address_save(voter_device_id, address_raw_text, address_variable_exists): results = is_voter_device_id_valid(voter_device_id) if not results['success']: return HttpResponse(json.dumps(results['json_data']), content_type='application/json') if not address_variable_exists: json_data = { 'status': "MISSING_POST_VARIABLE-ADDRESS", 'success': False, 'voter_device_id': voter_device_id, } return HttpResponse(json.dumps(json_data), content_type='application/json') voter_id = fetch_voter_id_from_voter_device_link(voter_device_id) if voter_id < 0: json_data = { 'status': "VOTER_NOT_FOUND_FROM_DEVICE_ID", 'success': False, 'voter_device_id': voter_device_id, } return HttpResponse(json.dumps(json_data), content_type='application/json') # At this point, we have a valid voter voter_address_manager = VoterAddressManager() address_type = BALLOT_ADDRESS # We wrap get_or_create because we want to centralize error handling results = voter_address_manager.update_or_create_voter_address( voter_id, address_type, address_raw_text.strip()) if results['success']: json_data = { 'status': "VOTER_ADDRESS_SAVED", 'success': True, 'voter_device_id': voter_device_id, 'address': address_raw_text, } # elif results['status'] == 'MULTIPLE_MATCHING_ADDRESSES_FOUND': # delete all currently matching addresses and save again else: json_data = { 'status': results['status'], 'success': False, 'voter_device_id': voter_device_id, } return HttpResponse(json.dumps(json_data), content_type='application/json')
def voter_address_save(voter_device_id, address_raw_text, address_variable_exists): results = is_voter_device_id_valid(voter_device_id) if not results['success']: return HttpResponse(json.dumps(results['json_data']), content_type='application/json') if not address_variable_exists: json_data = { 'status': "MISSING_POST_VARIABLE-ADDRESS", 'success': False, 'voter_device_id': voter_device_id, } return HttpResponse(json.dumps(json_data), content_type='application/json') voter_id = fetch_voter_id_from_voter_device_link(voter_device_id) if voter_id < 0: json_data = { 'status': "VOTER_NOT_FOUND_FROM_DEVICE_ID", 'success': False, 'voter_device_id': voter_device_id, } return HttpResponse(json.dumps(json_data), content_type='application/json') # At this point, we have a valid voter voter_address_manager = VoterAddressManager() address_type = BALLOT_ADDRESS # We wrap get_or_create because we want to centralize error handling results = voter_address_manager.update_or_create_voter_address(voter_id, address_type, address_raw_text.strip()) if results['success']: json_data = { 'status': "VOTER_ADDRESS_SAVED", 'success': True, 'voter_device_id': voter_device_id, 'address': address_raw_text, } # elif results['status'] == 'MULTIPLE_MATCHING_ADDRESSES_FOUND': # delete all currently matching addresses and save again else: json_data = { 'status': results['status'], 'success': False, 'voter_device_id': voter_device_id, } return HttpResponse(json.dumps(json_data), content_type='application/json')