def post(self): user = self.get_current_user() url = self.get_argument('url', '') display_name = self.get_argument('displayname', '') url = self.get_argument('url', '') public = self.get_argument('public', '') if not display_name: error = 'A display name is required!' self.render("settings.html", page_title="Settings for {}".format(user.display_name), user=user, error=error) return public = True if public == 'yes' else False error = False if url == '': error = 'A profile URL is required for public accounts!' # make sure url is unique if not models.url_unique(url, user): error = 'A profile URL is required for public accounts!' if error: self.render("settings.html", page_title="Settings for {}".format(user.display_name), user=user, error=error) return user.public = public user.url = url user.display_name = display_name user.save() yield gen.Task(self.tf.send, {'users.settings.changed': 1}) self.redirect('/settings')
def post(self): email = self.get_argument('email', '').lower() display_name = self.get_argument('display_name', '') password = self.get_argument('password', '') password_confirm = self.get_argument('password_confirm', '') url = self.get_argument('url', '').lower() public = True if self.get_argument('public', '') == 'yes' else False # check for general errors error = False if not email or not password or not password_confirm or not url: error = True if password != password_confirm: error = True if error: error_text = 'Missing a field or passwords do not match, all fields are required.' self.render('register.html', page_title='Register', user=None, error=error_text) return # check that email hasn't already been used check_user = yield models.get_user_by_email(self.redis, email) if check_user: error_text = 'The email you tried already has an account. Please log in or register with a different email address.' self.render('register.html', page_title='Register', user=None, error=error_text) return # make sure url is unique if url and not models.url_unique(url): error_text = 'A unique profile URL is required for public accounts!' self.render("register.html", page_title="Register", user=None, error=error_text) new_user = models.User(email=email) new_user.password = util.hash_pwd(password) new_user.display_name = display_name new_user.url = url new_user.public = public new_user.save(self.redis) self.set_secure_cookie('user', str(new_user.id)) self.tf.send({'users.registrations': 1}, lambda x: x) self.redirect('/')