X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=VendServer%2FVendServer.py;h=f977416145f1d8a3ea2836ae1cf5be3b544e7326;hb=b728c696bbf92508378197af1d18df9a30b1f0da;hp=f7bc9927048c02a3a9464b1aeab3bf3ef3d52900;hpb=50ed02d24589bb4340802826f11125f5e5c9038a;p=uccvend-vendserver.git diff --git a/VendServer/VendServer.py b/VendServer/VendServer.py index f7bc992..f977416 100755 --- a/VendServer/VendServer.py +++ b/VendServer/VendServer.py @@ -336,12 +336,14 @@ class VendServer(): self.vstatus.last_timeout_refresh = int(time_left) self.vstatus.cur_selection = '' + # Login timed out: Log out the current user. if self.vstatus.time_to_autologout != None and self.vstatus.time_to_autologout - time() <= 0: self.vstatus.time_to_autologout = None self.vstatus.cur_user = '' self.vstatus.cur_pin = '' self.vstatus.cur_selection = '' self._last_card_id = -1 + self.dispense.logOut() self.reset_idler() ### State fully logged out ... reset variables @@ -371,6 +373,7 @@ class VendServer(): self.vstatus.cur_user = '' self.vstatus.cur_selection = '' self._last_card_id = -1 + self.dispense.logOut() self.vstatus.mk.set_messages([(self.center('BYE!'), False, 1.5)]) self.reset_idler(2) return @@ -381,11 +384,12 @@ class VendServer(): if key == 11: self.vstatus.cur_selection = '' self.vstatus.time_to_autologout = None + self.dispense.logOut() self.scroll_options(self.vstatus.username, self.vstatus.mk) return else: self.vstatus.cur_selection += chr(key + ord('0')) - if self.vstatus.cur_user: + if self.dispense.isLoggedIn(): self.make_selection() self.vstatus.cur_selection = '' self.vstatus.time_to_autologout = time() + 8 @@ -471,7 +475,8 @@ class VendServer(): if key == 11: if self.vstatus.cur_pin == '': self.vstatus.cur_user = '' - slef.reset_idler() + self.dispense.logOut() + self.reset_idler() return self.vstatus.cur_pin = '' @@ -480,8 +485,7 @@ class VendServer(): self.vstatus.cur_pin += chr(key + ord('0')) self.vstatus.mk.set_message('PIN: '+'X'*len(self.vstatus.cur_pin)) if len(self.vstatus.cur_pin) == PIN_LENGTH: - self.dispense.authUserIdPin(self.vstatus.cur_user, self.vstatus.cur_pin) - if self.dispense.getUsername(): + if self.dispense.authUserIdPin(self.vstatus.cur_user, self.vstatus.cur_pin): self.vstatus.username = self.dispense.getUsername() self.v.beep(0, False) self.vstatus.cur_selection = '' @@ -519,6 +523,7 @@ class VendServer(): if len(self.vstatus.cur_user) <8: if key == 11: self.vstatus.cur_user = '' + self.dispense.logOut() self.reset_idler() return @@ -598,6 +603,7 @@ class VendServer(): key = params if key == 11: self.vstatus.cur_user = '' + self.dispense.logOut() self.reset_idler() return @@ -762,6 +768,7 @@ class VendServer(): logging.warning("Entering open door mode") self.v.display("-FEED ME-") #door_open_mode(v); + self.dispense.logOut() self.vstatus.cur_user = '' self.vstatus.cur_pin = '' elif params == 1: #door closed @@ -782,9 +789,7 @@ class VendServer(): self._last_card_id = card_id - self.dispense.authMifareCard(card_id) - logging.info('Mapped card id to uid %s'%self.dispense.getUsername()) - if not self.dispense.isLoggedIn(): + if not self.dispense.authMifareCard(card_id): self.v.beep(40, False) self.vstatus.mk.set_messages( [(self.center('BAD CARD'), False, 1.0), @@ -796,6 +801,7 @@ class VendServer(): self.reset_idler(2) return elif self.dispense.isDisabled(): + logging.info('Mapped card id to uid %s'%self.dispense.getUsername()) self.v.beep(40, False) self.vstatus.mk.set_messages( [(self.center('ACCT DISABLED'), False, 1.0), @@ -804,6 +810,7 @@ class VendServer(): self.reset_idler(2) return else: + logging.info('Mapped card id to uid %s'%self.dispense.getUsername()) self.vstatus.cur_user = '----' self.vstatus.username = self.dispense.getUsername() self.vstatus.cur_selection = ''