def post(self, action=None): if action=='gen': name = self.request.get('code') amt = self.request.get('amount') # Look up code c = PromoCode.by_code(name) if not c: c = PromoCode(code=name, amount=float(amt)) c.put() self.params['last_code'] = c.code self.params['last_amount'] = c.amount self.render('admin/coupongen.html', **self.params)
def get(self, action=None): if self.user_prefs: # if user is logged in, redirect to profile self.redirect("/") elif action=='signup': promo = self.request.get('code') if promo and PromoCode.valid_code(promo): self.params['promo'] = promo self.render('signup.html', **self.params) elif action=='signin': self.render('signin.html') elif action=='signout': self.__signout()
def __signup(self, newacct=True): self.response.headers['Content-Type'] = "application/json" data = json.loads(self.request.body) logging.info(data) # retrieve information password = data.get('password') email = data.get('email') promo = data.get('promo') mm={'error':None} mm['next_url'] = '/m/profile' if not valid_email(email): mm['error']="That's not a valid email address." else: mm['email'] = email u = UserAccounts.by_email(email) if u: # already have account, sign them in self.__signin(u,password) return # if not valid_pw(password): # mm['error'] = "That wasn't a valid password." if not newacct: mm['error']="Not an existing user." else: u = UserAccounts(email = email, pwhash = make_pw_hash(email, password)) u.put() # create related data structures if promo: p = PromoCode.valid_code(promo) u.init(p) else: u.init() # return mobile login cookies mm['status'] = 'new' logging.info(u.user_id()) self.login(u.user_id()) self.set_current_user() if mm['error'] is not None: mm['status'] = 'error' self.write(json.dumps(mm)) return