def get(self): user = self.get_user() if not user: return # generate the query table params = { 'queries': self.generate_query_table(user), 'user_email': user.email, 'template_metrics': TemplateMetric.json_list(), } self.register_css([ 'dashboard.css', 'popup.css', 'new_metric_autocomplete.css', ]) self.register_js([ 'https://www.google.com/jsapi', 'google_charts.js', 'dashboard.js', ]) html = self.render_page('ui/html/dashboard.html', params) self.response.out.write(html)
def get(self): user = self.get_user() if not user: return if TemplateMetric.all().count() > 0: return f = open('scripts/templates.json') json_templates = json.loads(f.read()) for json_template in json_templates: template = TemplateMetric( format = json_template['format'], frequency = json_template['frequency'], name = json_template['name'], normalized_name = Query.normalize_name(json_template['name']), text = json_template['text'], ) template.put()
def get(self): # this should really be post, all these db-writes # unpack the values from the query string program = self.request.get('program') sms = self.request.get('sms', None) invite_code_name = self.request.get('invite_code', None) user = self.get_user(invite_code_name) if not user: return if sms != None and len(sms) == 10: # need to check that no one has this phone number yet # also, validate the phone number somewhat user.phone = sms user.query_medium = 'sms' # favour sms over email user.put() metrics = None if program == 'casual': metrics = json.loads(open('scripts/casual_program.json').read()) else: metrics = json.loads(open('scripts/moderate_program.json').read()) for metric in metrics: if metric == None: continue # add the metric name = metric["name"] frequency = int(metric["frequency"]) text = metric['text'] user_email = self.request.get('user_email') format = metric['format'] template = TemplateMetric.get_by_name(name) query = Query( name = name, # we should really do normalization inside the Query constructor, # but it will take some time to figure out how, lacking a nearby # python badass normalized_name = Query.normalize_name(name), text = text, frequency = frequency, user = user, format = format, template = template, ) query.put() self.redirect('/dashboard?first_time=true')
def get(self): google_user = users.get_current_user() if google_user != None: user = User.get_by_google_user(google_user) if user != None and user.is_whitelisted: self.redirect('/dashboard'); else: self.redirect(users.create_logout_url('/no-invite')) f = open('ui/html/home.html') html = f.read() login_url = users.create_login_url(self.request.uri) params = { 'login_url': login_url, 'template_metrics': TemplateMetric.json_list() } html = html % params self.response.out.write(html)