def get(self): if not onTeam(): return self.redirect('/') user = users.get_current_user() if not user: self.redirect(users.create_login_url(self.request.uri)) return def formatter(person): JSON = {} key = getattr(person, 'key') JSON['id'] = key.urlsafe() JSON['kind'] = key.kind() JSON.update(person.asDict(['email', 'name', 'checked_in'])) return JSON from models import Volunteer, Rep source = map(formatter, Hacker.query(Hacker.checked_in == False).fetch()) source += map(formatter, Rep.query(Rep.checked_in == False).fetch()) source += map(formatter, Volunteer.query(Volunteer.checked_in == False).fetch()) total_checked_in = getTotal() session = models.CheckInSession() session.user = user.email() session.put() token = channel.create_channel(session.key.urlsafe()) self.response.write(template("checkin.html", {"source" : json.dumps(source), 'total_checked_in' : total_checked_in, 'token' : token}))
def get(self): if not onTeam(): logging.info("Not authorized") return self.redirect('/') isQA = envIsQA() isDev = envIsDev() self.response.write( template( "dashboard.html", { "envIsDev": isDev, "isQA": isQA, "admin": isAdmin(), "onTeam": onTeam(), "logout": users.create_logout_url('/') }))
def get(self): if not onTeam(): logging.info("Not authorized") return self.redirect('/') isQA = envIsQA() isDev = envIsDev() self.response.write(template("dashboard.html", {"envIsDev" : isDev, "isQA" : isQA, "admin" : isAdmin(), "onTeam" : onTeam(), "logout" : users.create_logout_url('/')}))
def get(self): if not onTeam(): return self.redirect('/') keys = list(set(list(hacker_keys) + list(personal_info_keys) + list(non_required_keys) + ['status', 'admit_priority', 'rsvpd', 'checked_in', 'has_resume', 'secret', 'address1', 'address2', 'city', 'state', 'country', 'zip'])) if (not self.request.get('include_personally_identifiable_info')) or not isAdmin(): for key in personal_info_keys: keys.remove(key) self.response.headers['Content-Type'] = 'text/csv; charset=utf-8' writer = csv.DictWriter(self.response, fieldnames=keys) writer.writeheader() for hacker in Hacker.query(): writer.writerow({key: unicode(val).encode('utf-8') for key, val in hacker.asDict(keys).iteritems()})
def get(self): if not onTeam(): return self.redirect('/') user = users.get_current_user() if not user: self.redirect(users.create_login_url(self.request.uri)) return def formatter(person): JSON = {} key = getattr(person, 'key') JSON['id'] = key.urlsafe() JSON['kind'] = key.kind() JSON.update(person.asDict(['email', 'name', 'checked_in'])) return JSON from models import Volunteer, Rep source = map(formatter, Hacker.query(Hacker.checked_in == False).fetch()) source += map(formatter, Rep.query(Rep.checked_in == False).fetch()) source += map(formatter, Volunteer.query(Volunteer.checked_in == False).fetch()) total_checked_in = getTotal() session = models.CheckInSession() session.user = user.email() session.put() token = channel.create_channel(session.key.urlsafe()) self.response.write( template( "checkin.html", { "source": json.dumps(source), 'total_checked_in': total_checked_in, 'token': token }))
def post(self): if not onTeam(): return self.response.write({'success' : False, 'message' : 'You do not have permission to do this'}) id = json.loads(self.request.body).get('id') hacker = ndb.Key(urlsafe=id).get() if hacker is None: success = False newTotal = 0 elif hacker.phone_number is None: success = False else: newTotal = getTotal(increment_first=True) #We do this before so eventual consistency doesn't confuse users success = True hacker.checked_in = True hacker.put() for session in models.CheckInSession.query(models.CheckInSession.active == True): channel.send_message(session.key.urlsafe(), str(newTotal)) msg = "{0} in {1} - {2}".format('successfully checked' if success else 'failed to check', hacker.name, hacker.email) self.response.write(json.dumps({'success' : success, 'message' : msg, 'total_checked_in' : newTotal}))
def post(self): if not onTeam(): return self.response.write({ 'success': False, 'message': 'You do not have permission to do this' }) id = json.loads(self.request.body).get('id') hacker = ndb.Key(urlsafe=id).get() if hacker is None: success = False newTotal = 0 elif hacker.phone_number is None: success = False else: newTotal = getTotal(increment_first=True) #We do this before so eventual consistency doesn't confuse users success = True hacker.checked_in = True hacker.put() for session in models.CheckInSession.query( models.CheckInSession.active == True): channel.send_message(session.key.urlsafe(), str(newTotal)) msg = "{0} in {1} - {2}".format( 'successfully checked' if success else 'failed to check', hacker.name, hacker.email) self.response.write( json.dumps({ 'success': success, 'message': msg, 'total_checked_in': newTotal }))