+ acct_state = get_acct_state(uid)
+ if acct_state == 'invalid':
+ logging.info('user '+vstatus.cur_user+' is not in the database')
+ vstatus.mk.set_messages(
+ [(' '*10+'INVALID PIN SETUP'+' '*11, False, 3)])
+ vstatus.cur_user = ''
+ vstatus.cur_pin = ''
+
+ reset_idler(v, vstatus, 3)
+ return
+ elif acct_state == 'locked':
+ logging.info('user '+vstatus.cur_user+' is locked')
+ vstatus.mk.set_messages(
+ [(' '*10+'INVALID PIN SETUP'+' '*11, False, 3)])
+ vstatus.cur_user = ''
+ vstatus.cur_pin = ''
+
+ reset_idler(v, vstatus, 3)
+ return
+ elif acct_state == 'good':
+ vstatus.cur_pin = ''
+ vstatus.mk.set_message('PIN: ')
+ logging.info('need pin for user %s'%vstatus.cur_user)
+ vstatus.change_state(STATE_GETTING_PIN)
+ return
+ else:
+ logging.error('user '+vstatus.cur_user+' has an unknown account state'+acct_state)